Python Сохраняется только последняя часть вывода из json

r = requests.get(f'https://discord.com/api/v9/channels/{channelid}/messages', headers=headers)
jsonn = json.loads(r.text)
for value in jsonn:
    value = str(value)
    value = value[8:26]
    print(value)
    massanges = open('massanges.txt','w')
    massanges.write(value)
    massanges.close

Нужна помощь, нужно чтобы из value сохранились все id который он выводит, а сохраняется только последний id.

Вывод print(value)

938121057682985062 938121056311451698 936905408138838036 932940248613289994 932940222965096448 932588503559200769 931101350408884244 929343007122161704 928321930556215399

Что сохраняется в massanges.txt

928321930556215399


Ответы (1 шт):

Автор решения: Roman-Stop RU aggression in UA

Проблема в том, что вы на каждой итерации цикла открываете файл заново и перезаписываете его содержимое. Нужно открыть файл один раз до цикла и закрыть после, например, так:

with open('massanges.txt','w') as massanges:
    for value in jsonn:
        value = str(value)
        value = value[8:26]
        print(value)
        massanges.write(value)
→ Ссылка