Ответ 1
Если вы хотите добавить в файл, откройте его с помощью 'a'
. Если вы хотите найти файл, чтобы найти место, где вы должны вставить строку, используйте 'r+'
. (docs)
Я уже создал txt файл, используя python с несколькими строками текста, которые будут прочитаны простой программой. Однако у меня возникли проблемы с повторным открытием файла и написанием дополнительных строк в файле в более поздней части программы. (Строки будут записаны с пользовательского ввода, полученного позже).
with open('file.txt', 'w') as file:
file.write('input')
Это предполагает, что файл "file.txt" был открыт до и записал. При открытии этого второго раза, однако, с кодом, который у меня есть в настоящее время, мне нужно стереть все, что было написано ранее, и переписать новую строку, Есть ли способ предотвратить это (и, возможно, сократить чрезмерный код открытия файла снова)?
Если вы хотите добавить в файл, откройте его с помощью 'a'
. Если вы хотите найти файл, чтобы найти место, где вы должны вставить строку, используйте 'r+'
. (docs)
Откройте файл для 'append', а не 'write'.
with open('file.txt', 'a') as file:
file.write('input')
Используйте 'a'
, 'a'
означает append
. Все, что записано в файл, открытый с атрибутом 'a'
, записывается в конце файла.
with open('file.txt', 'a') as file:
file.write('input')
Ответы, приведенные выше, верны, но для добавления данных в новую строку, а не для прикрепления к концу последней строки в файле, используйте следующее:
with open('file.txt', 'a') as file:
file.writelines('input')
Из Добавить текстовый файл в Python? :
При открытии в режиме "а" позиция записи всегда будет в конце файла (добавление). Существуют и другие варианты аргумента mode для обновления (+), усечения (w) и бинарного (b) режима, но лучше всего начинать с простого "a". Если вы хотите просмотреть файл, чтобы найти место, куда вы должны вставить строку, используйте "r+".
Следующий код добавляет текст в существующий файл:
with open("file.txt", "a") as myfile:
myfile.write("text appended")