Подтвердить что ты не робот

Как добавить строки в существующий файл с помощью python

Я уже создал txt файл, используя python с несколькими строками текста, которые будут прочитаны простой программой. Однако у меня возникли проблемы с повторным открытием файла и написанием дополнительных строк в файле в более поздней части программы. (Строки будут записаны с пользовательского ввода, полученного позже).

with open('file.txt', 'w') as file:
    file.write('input')

Это предполагает, что файл "file.txt" был открыт до и записал. При открытии этого второго раза, однако, с кодом, который у меня есть в настоящее время, мне нужно стереть все, что было написано ранее, и переписать новую строку, Есть ли способ предотвратить это (и, возможно, сократить чрезмерный код открытия файла снова)?

4b9b3361

Ответ 1

Если вы хотите добавить в файл, откройте его с помощью 'a'. Если вы хотите найти файл, чтобы найти место, где вы должны вставить строку, используйте 'r+'. (docs)

Ответ 2

Откройте файл для 'append', а не 'write'.

with open('file.txt', 'a') as file:
    file.write('input')

Ответ 3

Используйте 'a', 'a' означает append. Все, что записано в файл, открытый с атрибутом 'a', записывается в конце файла.

with open('file.txt', 'a') as file:
    file.write('input')

Ответ 4

Ответы, приведенные выше, верны, но для добавления данных в новую строку, а не для прикрепления к концу последней строки в файле, используйте следующее:

with open('file.txt', 'a') as file:
    file.writelines('input')

Ответ 5

Из Добавить текстовый файл в Python? :

При открытии в режиме "а" позиция записи всегда будет в конце файла (добавление). Существуют и другие варианты аргумента mode для обновления (+), усечения (w) и бинарного (b) режима, но лучше всего начинать с простого "a". Если вы хотите просмотреть файл, чтобы найти место, куда вы должны вставить строку, используйте "r+".

Следующий код добавляет текст в существующий файл:

with open("file.txt", "a") as myfile:
    myfile.write("text appended")