Как записать в файл на Python (запись и добавление)

Узнайте, как записывать текст в файлы на Python. Освойте разницу между режимами записи («w») и добавления («a») с помощью безопасных контекстных менеджеров.

Попробуйте это решение в редакторе

Обзор

Запись данных в файлы — фундаментальная задача при создании сценариев, сохранении состояний программы, создании журналов или экспорте отчетов. Python упрощает вывод файлов с помощью встроенной функции open() в сочетании со специальными режимами доступа к файлам, которые контролируют запись данных на диск.

При записи файлов используются два наиболее распространенных режима — режим записи («w») и режим добавления («a»). В режиме записи файл полностью перезаписывается, если он уже существует, или создается новый, если его нет. Режим добавления сохраняет существующее содержимое и записывает новые данные непосредственно в конец файла. Использование неправильного режима может привести к случайной потере данных, поэтому выбирайте внимательно.

Подобно чтению файлов, вы всегда должны использовать оператор `with open(...)`. Это гарантирует очистку файлового буфера и правильное закрытие дескриптора файла, что экономит системные ресурсы и предотвращает повреждение данных. Для записи списков строк Python предоставляет метод .writelines(), который делает массовую запись чистой и эффективной.

Код и вывод выполнения

Этот скрипт демонстрирует перезапись, добавление и просмотр файлов в Python.

# 1. Overwrite a file (or create new) using "w"
with open("output.txt", "w") as file:
    file.write("Hello World from Python!\n")
    file.write("Writing file content is simple.\n")

# 2. Append new content to the file using "a"
with open("output.txt", "a") as file:
    file.write("This line is appended.\n")

# 3. Reading the file back to verify contents
with open("output.txt", "r") as file:
    print(file.read().strip())
Терминальный выход
Hello World from Python!
Writing file content is simple.
This line is appended.

Пошаговая реализация

  • Используйте с open('filename', 'w') as file для перезаписи или создания файла.
  • Используйте с open('filename', 'a') as file для добавления текста в конец файла.
  • Вызовите file.write('string') для записи отдельных текстовых сегментов в файл.

Часто задаваемые вопросы

Что произойдет, если каталог файла не существует?

Python вызовет FileNotFoundError. Прежде чем записывать файл, вы должны сначала создать каталог с помощью функции os.madeirs.

Как записать переменные или числа в файл?

Метод write() принимает только строковые аргументы. Вы должны привести числа, используя str(num), или отформатировать их, используя f-строки.

Связанные темы

Рекомендуемые ресурсы Python

Расширьте свои знания с помощью соответствующих интерактивных руководств, шпаргалок и сравнений кода.