Как дозаписать файл в python

Я делаю телеграм-бота, и мне нужно записывать сообщения пользователя в файл txt. Но обычный метод .write() перезаписывает его, а мне это не нужно. Как дозаписать файл в python?


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

Автор решения: Aleksei astynax Pirogov

Вы можете открыть файл в режиме добавления open('...', 'a') и использовать привычный .write(). В этом случае запись будет осуществляться в конец.

А вообще запись в файл и чтение из него производятся в позиции некоего "курсора". Каждое действие над содержимым файла перемещает этот курсор. И если файл открыт в режиме "чтение и обновление" ('r+'), то можно переместить курсор в конец файла с помощью метода .seek() и записать что-то всё тем же .write(). Код, дописывающий строку в конце файла, будет выглядеть как-то так:

with open('file.txt', 'r+') as f:
    # ...
    f.seek(0, 2)       # перемещение курсора в конец файла
    f.write('blabla')  # собственно, запись

Про метод seek можно почитать тут.

→ Ссылка
Автор решения: ПИТОНИСТ версия-3-8

Можно так:

test=open('ПУТЬ К ФАЙЛУ//file.txt', 'a')
test.write('То, что вы хотите дозаписать')
test.close()
→ Ссылка