Анонимный пользователь
Дополнительно
Как выполнить добавление к файлу в Python?
Как вы добавляете файл в файл, а не перезаписываете его? Есть ли специальная функция, которая добавляет файл?
1439
10
Вам необходимо открыть файл в режиме добавления, установив в качестве режима "a" или "ab". См. open().
При открытии в режиме "a" позиция записи всегда будет в конце файла (аппендикс). Вы можете открыть в режиме "a+", чтобы разрешить чтение, поиск назад и чтение (но все записи по-прежнему будут в конце файла!).
Пример:
Примечание: Использование 'a' не то же самое, что открытие с помощью 'w' и поиск до конца файла - подумайте, что может произойти, если другая программа откроет файл и начнет запись между поиском и записью. В некоторых операционных системах открытие файла с помощью 'a' гарантирует, что все ваши последующие записи будут атомарно добавляться в конец файла (даже если файл будет расти за счет других записей).
Еще несколько деталей о том, как работает режим "a" (протестировано только на Linux). Даже если вы ищете назад, каждая запись будет добавляться в конец файла:
На самом деле, в
fopen
manpage говорится:Старый упрощенный ответ (без использования
with
):Пример: (в реальной программе используется
with
для закрытия файла - см. документацию)Я всегда делаю это,
Это's простое, но очень полезное.
Вероятно, вы хотите передать
"a"
в качестве аргумента режима. См. документацию по open().Существуют и другие варианты аргумента mode для обновляющего (+), усекающего (w) и двоичного (b) режима, но начинать лучше всего с
"a"
.Python имеет много вариантов от трех основных режимах, эти три режима являются:
Так, чтобы добавить в файл он's так же просто, как:
То есть режимы, которые просто сделать код меньше строк:
Наконец, есть несколько режимов чтения/записи в двоичном формате:
когда мы используем эту линию открытой(именем, "А")
, что
а` указывает на добавления файла, это означает, что позволить для вставки дополнительных данных к существующему файлу.Вы можете просто использовать это следующие строки, чтобы добавить текст в ваш файл
Вы также можете открыть файл в режиме R+`, а затем установить позицию файла в конец файла.
Открытие файла в режиме
Р+
позволит вам писать в другой файл позициях, кроме конца, в то время какA
иа+
заставить писать до конца.если вы хотите добавить в файл
Мы объявили переменную файл myfile`, чтобы открыть файл test.txt имени``. Откройте принимает 2 аргументов, файл, который мы хотим открыть и строку, которая представляет виды разрешения или действия мы хотим делать на файл<БР>
вот варианты файловом режиме в <предварительно> Описание Режима
'Р' Это режим по умолчанию. Он открывает файл для чтения. 'ш' Этот режим открывает файл для записи. Если файл не существует, создается новый файл. Если файл существует, он усекает файл. 'х' создает новый файл. Если файл уже существует, операция завершается неудачей. 'Это' открыть файл в режиме добавления. Если файл не существует, создается новый файл. 'т' Это режим по умолчанию. Он открывается в текстовом режиме. 'б' Это открывается в двоичном режиме. '+' Это позволит открыть файл для чтения и записи (обновление) </пред>
В
'Это' параметр обозначает режим добавления. Если вы Don'т хотите использовать
открытойкаждый раз, вы можете легко написать функцию, чтобы сделать это для вас: `` четкости добавить(тхт='\nFunction успешно выполнена', файл): с открытого(файла, 'Это') как F: Ф.написать(текстовый) `` Если вы хотите писать куда-то еще, кроме конца, вы можете использовать
'Р+' в`<SUP-серфинг>†</суп>: `` импорт ОСс открытого(файла, 'Р+') как F: Ф.искать(0, ОС.SEEK_END) Ф.писать (и"текст" и) `
Наконец,
'ш+'` гранты параметр еще больше свободы. В частности, она позволяет создать файл, если он не'т существуют, а также очистить содержимое файла, который существует в настоящее время.<суп>†</суп> кредит для этой функции идет до @Primusa
Здесь's мой скрипт, который в основном подсчитывает количество строк, а затем добавляет, затем подсчитывает их снова, так что у вас есть доказательства, что это сработало.