Как дозаписать файл в python
Я делаю телеграм-бота, и мне нужно записывать сообщения пользователя в файл txt. Но обычный метод .write() перезаписывает его, а мне это не нужно. Как дозаписать файл в python?
Ответы (2 шт):
Вы можете открыть файл в режиме добавления open('...', 'a') и использовать привычный .write(). В этом случае запись будет осуществляться в конец.
А вообще запись в файл и чтение из него производятся в позиции некоего "курсора". Каждое действие над содержимым файла перемещает этот курсор. И если файл открыт в режиме "чтение и обновление" ('r+'), то можно переместить курсор в конец файла с помощью метода .seek() и записать что-то всё тем же .write(). Код, дописывающий строку в конце файла, будет выглядеть как-то так:
with open('file.txt', 'r+') as f:
# ...
f.seek(0, 2) # перемещение курсора в конец файла
f.write('blabla') # собственно, запись
Про метод seek можно почитать тут.
Можно так:
test=open('ПУТЬ К ФАЙЛУ//file.txt', 'a')
test.write('То, что вы хотите дозаписать')
test.close()