Как записать в файл на 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. Освойте оператор open, readline, readlines и безопасную обработку исключений файлов.
Как обрабатывать исключения в PythonУзнайте, как обрабатывать исключения в Python с помощью блоков try, кроме, else иfinally. Пишите безошибочный и устойчивый к сбоям код Python.
Рекомендуемые ресурсы Python
Расширьте свои знания с помощью соответствующих интерактивных руководств, шпаргалок и сравнений кода.
Ввод-вывод файлов Python
Узнайте, как читать и записывать файлы на Python. Освойте open(), read(), write() и менеджеры контекста для безопасной обработки файловых операций без утечек ресурсов.
Памятка по операциям с файлами Python
Краткий справочник по чтению и записи файлов на Python. Освойте открытые режимы, менеджеры контекста и построчное чтение.
Декораторы Python и шаблоны проектирования декораторов: ключевые различия
Сравните декораторы Python и классический шаблон проектирования декораторов. Поймите разницу между переносом функций во время определения и динамической композицией объектов во время выполнения с помощью исполняемого кода.