Запись в файл на Python
В этом посте мы обсудим, как писать в файл на Python.
1. Использование
open()
функцияПростое решение — открыть файл в режиме записи ('w'
) с помощью встроенного open()
функция, которая открывает его для записи после усечения. Файл создается, если он не существует. Вот как будет выглядеть код:
f = open(‘file.txt’, ‘w’) f.write(‘Hello, World\n’) f.close()
|
Приведенный выше синтаксис явно закрывает обработчик файла с close()
функция, и вам может потребоваться блокировка try-finally для обработки исключений. Хорошей практикой является использование with
ключевое слово, которое автоматически закрывает файл после завершения работы, даже если возникает исключение. Вот эквивалентный код, использующий with
утверждение:
with open(‘file. f.write(‘Hello, World\n’)
|
Кроме того, вы можете открыть файл 'w+'
режим, который открывает его как для чтения, так и для записи:
with open(‘file.txt’, ‘w+’) as f: f.write(‘Hello, World\n’)
|
⮚ С использованием'a'
Режим
Если вам нужно добавить текст в конец файла, если он существует, вы можете открыть его в режиме добавления ('a'
). Файл создается, если он не существует.
with open(‘file.txt’, ‘a’) as f: f.write(‘Hello, World\n’)
|
Поток всегда располагается в конце файла в 'a'
режим. Кроме того, если вам нужно прочитать текст из файла, используйте 'a+'
режим.
with open(‘file.txt’, ‘a+’) as f: f.write(‘Hello, World\n’)
|
2. Использование
pathlib
модульВ Python 3.4 вы также можете использовать pathlib
модуль. Path.write_text()
import pathlib pathlib.Path(‘file.txt’).write_text(‘Hello, World\n’)
|
3. Использование
io
модульДругим вариантом является использование io.open()
функция, которая является псевдонимом для встроенной open()
функция.
import io
with io.open(«file.txt», mode=’w’, encoding=’utf-8′) as f: f.
|
Это все о записи в файл в Python.
Оценить этот пост
Средний рейтинг 5/5. Подсчет голосов: 20
Голосов пока нет! Будьте первым, кто оценит этот пост.
Сожалеем, что этот пост не оказался для вас полезным!
Расскажите, как мы можем улучшить этот пост?
Спасибо за чтение.
Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.
Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования
Построчные чтение и запись | Python: Основы текстового ввода-вывода
Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером
Запись текста построчно
На предыдущем уроке я упоминал, что последовательные вызовы метода write
дописывают текст в конец. Но часто мы имеем итератор, выдающий некий текст построчно. Можно, конечно, написать цикл, однако есть способ и получше: метод writelines
. Работает он так:
f = open("foo.txt", "w") f.writelines(["cat\n", "dog\n"]) f.close() f = open("foo.txt", "r") print(f.read()) # => cat # => dog f.close()
Как вы видите, все строчки записались в нужном порядке. Такой вариант записи предпочтителен, когда нужно записать большой объем текста, который вы получаете и обрабатываете строчка-за-строчкой. Можно предварительно накопить весь текст в одну большую строку, однако для этого может потребоваться большой объём памяти. Гораздо лучше записывать строчки по мере готовности и
для этого подходит идеально!
Чтение файла построчно
Файл построчно можно не только писать, но и читать:
f = open("foo.txt") f.readline() # 'cat\n' f.readline() # 'dog\n' f.readline() # '' f.close()
Здесь Python сам понимает, что строчки в тексте нужно разделять по символу перевода строки.
readline
перемещает позицию к следующей строке и как только текст закончится, все последующие вызовы будут возвращать пустую строку.Заметьте, строчки текста содержат и сами символы перевода строки.
Метод readline
довольно удобен, когда мы хотим управлять процессом чтения из файла. Однако часто нужно просто прочитать все строчки текста. Для этого нужно всего навсего… проитерировать файловый объект! При этом вы получите итератор строчек, который можно читать в цикле:
f = open("foo.txt") for l in f: print(l) # => cat # => dog f.close()
Если не указать режим, как я сделал в этот раз, то файл откроется на чтение. Удобно.
Подумайте, почему напечатались лишние пустые строчки.
Итератор строчек файла, как и положено, ленив. Он вычитывает строки лишь по мере необходимости. А останавливается тогда, когда читать уже становится нечего.
Ленивость позволяет, в частности, не дочитать файл:
f = open("foo. txt") for l in f: print(l) break # => cat print(f.read()) # => dog f.close()
Если же нужно получить сразу все строчки текста в виде списка, то можно вызывать метод readlines
и получить тот самый список.
Потоковая обработка больших файлов
Использование итераторов очень удобно для потоковой обработки файлов. При потоковой обработке нет необходимости хранить весь файл в памяти, а значит обрабатываемые файлы могут быть очень большими! Вот так может выглядеть скрипт, который нумерует строчки входного файла и записывает в выходной:
input_file = open("input.txt", "r") output_file = open("output.txt", "w") for i, line in enumerate(input_file, 1): output_file.write(f"{i}) {line}") input_file.close() output_file.close()
Открыть доступ
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
- 130 курсов, 2000+ часов теории
- 360 000 студентов
Электронная почта *
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»
Наши выпускники работают в компаниях:
Запись файла Python
❮ Назад Далее ❯
Запись в существующий файл
Для записи в существующий файл необходимо добавить параметр в open()
function:
"a"
— Append — добавит в конец файла
"w"
— Write — перезапишет существующее содержимое
Пример
Открыть файл «demofile2 . txt» и добавить содержимое в файл:
f = открыть(«demofile2.txt», «a»)
f.write(«Теперь в файле больше содержимого!»)
f.close()
# открыть и прочитать файл после добавления:
f =
open(«demofile2.txt», «r»)
print(f.read())
Пример запуска »
Пример
Откройте файл «demofile3.txt» и перезапишите содержимое:
f = open(«demofile3.txt», «w»)
f.write(«Упс! Я удалил содержимое!»)
f.close()
# открыть и прочитать файл после перезаписи:
f = открыть(«demofile3.txt», «r»)
print(f.read())
Пример запуска »
Примечание:
Создать новый файл
Чтобы создать новый файл в Python, используйте метод open()
,
с одним из следующих параметров:
"x"
— Create — создаст файл, возвращает
ошибка, если файл существует
"a"
— Append — создаст файл, если
указанный файл не существует
"w"
— Запись — создаст файл, если
указанный файл не существует
Пример
Создать файл с именем «myfile. txt»:
f = open(«myfile.txt», «x»)
Результат: создан новый пустой файл!
Пример
Создать новый файл, если он не существует:
f = open(«myfile.txt», «w»)
❮ Предыдущий Следующий ❯
ВЫБОР ЦВЕТА
Лучшие учебники
Учебное пособие по HTMLУчебное пособие по CSS
Учебное пособие по JavaScript
Учебное пособие
Учебное пособие по SQL
Учебное пособие по Python
Учебное пособие по W3.CSS
Учебное пособие по Bootstrap
Учебное пособие по PHP
Учебное пособие по Java
Учебное пособие по C++
Учебное пособие по jQuery
Top References Справочник по HTML
Справочник по CSS
Справочник по JavaScript
Справочник по SQL
Справочник по Python
Справочник по W3.CSS
Справочник по Bootstrap
Справочник по PHP
Цвета HTML
Справочник по Java
Справочник по Angular
Справочник по jQuery
Основные примеры
Примеры HTMLПримеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3. CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery
FORUM | О
W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности.
Copyright 1999-2023 Refsnes Data. Все права защищены.
W3Schools работает на основе W3.CSS.
Запись в файл в Python
Python предоставляет встроенные функции для создания, записи и чтения файлов. Есть два типа файлов, которые можно обрабатывать в python: обычные текстовые файлы и двоичные файлы (написанные на двоичном языке, 0 и 1).
- Текстовые файлы: В этом типе файлов каждая строка текста завершается специальным символом, называемым EOL (конец строки), который по умолчанию является символом новой строки (‘\n’) в python.
- Двоичные файлы: В этом типе файлов нет терминатора для строки, и данные сохраняются после преобразования их в машиночитаемый двоичный язык.
Примечание: Чтобы узнать больше об обработке файлов, нажмите здесь.
Содержание
- Режим доступа
- Открытие файла
- Закрытие файла
- Запись в файл
- Добавление в файл
- Присоединение к файлу
- 7
2
Режим доступа
Режимы доступа определяют тип операций, возможных в открытом файле. Это относится к тому, как файл будет использоваться после его открытия. Эти режимы также определяют расположение дескриптора файла в файле. Дескриптор файла подобен курсору, который определяет, откуда данные должны быть прочитаны или записаны в файле. Различные режимы доступа для чтения файла –
- Только запись («w») : Открыть файл для записи. Для существующего файла данные усекаются и перезаписываются. Ручка располагается в начале файла. Создает файл, если файл не существует.
- Запись и чтение («w+») : Открытие файла для чтения и записи. Для существующего файла данные усекаются и перезаписываются. Ручка располагается в начале файла.
- Только добавление ('a'): Открыть файл для записи. Файл создается, если он не существует. Ручка располагается в конце файла. Записываемые данные будут вставлены в конце после существующих данных.
Примечание: Чтобы узнать больше о режиме доступа, нажмите здесь.
Открытие файла
Это делается с помощью функции open(). Для этой функции не требуется импортировать модуль. Синтаксис:
File_object = open(r"File_Name", "Access_Mode")
Файл должен находиться в том же каталоге, что и программный файл python, иначе вместо имени файла должен быть указан полный адрес файла. Примечание: Символ r ставится перед именем файла, чтобы символы в строке имени файла не рассматривались как специальные символы. Например, если в адресе файла есть \temp, то \t интерпретируется как символ табуляции и возникает ошибка неверного адреса. r делает строку необработанной, т. е. сообщает, что строка не содержит специальных символов. r можно игнорировать, если файл находится в том же каталоге, а адрес не помещается.
Python3
|
Здесь файл1 создается как объект для MyFile1 и файл2 как объект для MyFile2.
Закрытие файла
Функция close() закрывает файл и освобождает место в памяти, занятое этим файлом. Он используется в тот момент, когда файл больше не нужен или если его нужно открыть в другом файловом режиме. Синтаксис:
file_object.close ()
Python3
|
Запись в файл
Существует два способа записи в файл.
- write() : Вставляет строку str1 в одну строку текстового файла.
File_object.write(str1)
- writelines() : Для списка строковых элементов каждая строка вставляется в текстовый файл. Используется для одновременной вставки нескольких строк.
File_object.writelines(L) для L = [str1, str2, str3]
Примечание: ‘\n’ рассматривается как специальный символ из двух байтов. Пример:
Python3
|
Вывод:
Привет Это Дели Это Париж Это Лондон
Добавление к файлу
Когда файл открывается в режиме добавления, маркер располагается в конце файла. Записываемые данные будут вставлены в конце после существующих данных. Давайте посмотрим на приведенный ниже пример, чтобы прояснить разницу между режимом записи и режимом добавления.
Python3
() |
Вывод:
Вывод строк чтения после добавления Это Дели Это Париж Это Лондон Сегодня Вывод строк чтения после записи Tomorrow
С оператором
с оператором в Python используется в обработке исключений, чтобы сделать код более чистым и читабельным. Это упрощает управление общими ресурсами, такими как файловые потоки. В отличие от приведенных выше реализаций, нет необходимости вызывать file.close() при использовании оператора with. Оператор with сам по себе обеспечивает правильное получение и освобождение ресурсов. Syntax:
with open filename as file:
Python3
print (file1.read()) |
Вывод:
Привет Это Дели Это Париж Это Лондон
Примечание. Чтобы узнать больше об операторе with, нажмите здесь.
использование оператора for:
шагов:
Чтобы записать файл в Python с помощью оператора for, выполните следующие действия:
Откройте файл с помощью функции open() с соответствующим режимом («w» для письмо).
Используйте оператор for, чтобы перебрать данные, которые вы хотите записать в файл.
Используйте метод write() файлового объекта для записи данных в файл.
: Закройте файл с помощью метода close() файлового объекта.
В этом примере файл открывается для записи с помощью оператора with open(‘file.txt’, ‘w’) as f. Данные, которые нужно записать, хранятся в списке, называемом данными. Оператор for используется для циклического просмотра каждой строки данных в списке. Оператор f.write(line + ‘\n’) записывает каждую строку данных в файл с символом новой строки (\n) в конце. Наконец, файл автоматически закрывается, когда заканчивается блок with.
Python3
|
Выход
Это первая строка Это вторая строка Это третья строка
Подход:
Код открывает файл с именем file.txt в режиме записи, используя блок with, чтобы убедиться, что файл правильно закрыт, когда блок заканчивается. Он определяет список строк, называемых данными, которые представляют собой строки для записи в файл. Затем код использует цикл for для перебора каждой строки данных и записывает каждую строку в файл с помощью метода write(). Код добавляет символ новой строки к каждой строке, чтобы гарантировать, что каждая строка будет записана на новой строке в файле. Код дополнительно печатает каждую строку по мере ее записи в файл.