Как открыть и закрыть файл в Python
Может возникнуть ситуация, когда нужно взаимодействовать с внешними файлами с помощью Python. Python предоставляет встроенные функции для создания, записи и чтения файлов. В этой статье мы обсудим, как открыть внешний файл и закрыть его с помощью Python.
Открытие файла в PythonСуществует два типа файлов, которые можно обрабатывать в Python: обычные текстовые файлы и двоичные файлы (написанные на двоичном языке, 0 и 1). Открытие файла относится к подготовке файла либо к чтению, либо к записи. Это можно сделать с помощью функция open() . Эта функция возвращает файловый объект и принимает два аргумента, один из которых принимает имя файла, а другой принимает режим (режим доступа).
Примечание: Файл должен находиться в том же каталоге, что и скрипт Python, в противном случае необходимо записать полный адрес файла.
Синтаксис: File_object = open(«File_Name», «Access_Mode»)
Параметры:
- File_Name: Это имя файла, который необходимо открыть.
- Access_Mode: Режимы доступа определяют тип операций, возможных в открытом файле. В таблице ниже приведены список всего режима доступа, доступного в Python
| Операция | Синтаксис | Описание |
|---|---|---|
| только чтение | R | |
| Чтение и запись | r+ | Открыть файл для чтения и записи. |
| Только запись | w | Открыть файл для записи. |
| Запись и чтение | w+ | Открыть файл для чтения и записи. В отличие от «r+», это не вызывает ошибку ввода-вывода, если файл не существует. |
| Добавить только | a | Открыть файл для записи и создать новый файл, если он не существует. Все дополнения делаются в конце файла, и никакие существующие данные не могут быть изменены. |
| Добавить и прочитать | a+ | Открыть файл для чтения и записи и создать новый файл, если он не существует. Все дополнения делаются в конце файла, и никакие существующие данные не могут быть изменены. |
В этом примере мы будем открывать файл только для чтения. Исходный файл выглядит следующим образом:
Код:
Python3
|
Здесь мы открыли файл и распечатали его содержимое.
Вывод:
Привет, Компьютерщик! Это образец текстового файла для примера.Пример 2: Открытие и запись в файл с помощью Python
В этом примере мы будем добавлять новое содержимое к существующему файлу.
So the initial file looks like the below:
Code:
Python3
|
Теперь, если вы откроете файл, вы увидите приведенный ниже результат,
Выход:
Пример 3: Открыть и перевернуть файл Pythonв этом примере 3: . , мы перезапишем содержимое файла примера следующим кодом:
Код:
Python3
|
Приведенный выше код приводит к следующему результату:
Вывод:
Пример 4. Создание файла, если он не существует в Python
Метод path.touch() модуля pathlib создает файл в путь, указанный в пути path.touch().
Python3
| 1
|
Теперь, когда мы пробуем все, что вы найдете в Amport Wis Pile On Pilece We Al Amport Wis Pile On Pail On Pilece We At Arame Pile On Pail. возникает ошибка ValueError:
Python3
|
Вывод:
ValueError: Операция ввода/вывода в закрытом файле.
Создание, открытие, добавление, чтение, запись {+Примеры}
Введение
Работа с файлами является неотъемлемой частью программирования.
Обработка файлов в Python упрощается благодаря встроенным методам, включающим создание, открытие и закрытие файлов.
Пока файлы открыты, Python дополнительно позволяет выполнять различные операции с файлами, такие как чтение, запись и добавление информации.
В этой статье вы узнаете, как работать с файлами в Python.
Предварительные условия
- Python 3 установлен и настроен.
- IDE или редактор кода для написания кода.
- Доступ к терминалу для запуска кода (или запуска непосредственно в IDE).
- Текстовый файл для примеров.
Открытие файлов в Python
open() Метод Python является основной функцией обработки файлов. Основной синтаксис:
file_object = open('file_name', 'mode') open() Функция принимает два элементарных параметра для обработки файла:
1. file_name включает расширение файла файл находится в текущем рабочем каталоге.
Если расположение файла находится в другом месте, укажите абсолютный или относительный путь.
2. Режим — необязательный параметр, определяющий способ открытия файла. В таблице ниже представлены различные возможные варианты:
| Режим | Описание |
|---|---|
'r' | считывает из файла и возвращает ошибку, если файл не существует ( ). |
'w' | Записывает в файл и создает файл, если он не существует, или перезаписывает существующий файл. |
'x' | Эксклюзивное создание, которое завершается ошибкой, если файл уже существует. |
'a' | Добавляет к файлу и создает файл, если он не существует, или перезаписывает существующий файл.![]() |
'b' | Двоичный режим. Используйте этот режим для нетекстовых файлов, таких как изображения. |
't' | Текстовый режим. Использовать только для текстовых файлов ( по умолчанию ). |
'+' | Активирует методы чтения и записи. |
Режим должен иметь ровно одно создание ( x )/Read ( R )/Запись ( W )/Приложение ( A ). один + . Если этот режим не указан, по умолчанию используется значение 'rt' для чтения текстовых файлов.
Ниже приведена таблица, описывающая поведение каждого из режимов при вызове.
| Behavior | Modes | |
|---|---|---|
| Read | r , r+ , w+ , a+ , x+ | |
| Write | R+ , W , W+ , A , A+ , x+ 1120 , x+ 120528 Create | w , w+ , a , a+ , x , x+ |
| Pointer Position Start | R , R+ , W , W+ , x , x+ | , |
a , a+ | ||
| Truncate (clear contents) | w , w+ | |
| Must Exist | r , R+ | |
| не должен существовать | x , x+ |
Режим чтения
. начало файла.
Примечание: Если файл не существует, Python выдает ошибку.
Чтобы прочитать текстовый файл в Python, загрузите файл с помощью функции open() :
f = open("<имя файла>") По умолчанию режим чтения текста ( ' рт' ).
Таким образом, следующий метод эквивалентен методу по умолчанию:
f = open("<имя файла>", "rt") Для чтения файлов в двоичном режиме используйте:
f = open("<имя файла> ","рб") Добавьте + , чтобы открыть файл в режиме чтения и записи:
f = open("<имя файла>", "r+") # Текстовое чтение и запись f = open("<имя файла >", "rt+") # То же, что и выше f = open("<имя файла>", "rb+") # Двоичное чтение и запись Во всех случаях функция возвращает файловый объект, а характеристики зависят от выбранный режим.
Режим записи
Режим записи создает файл для записи содержимого и помещает указатель в начало. Если файл существует, запись усекает (удаляет) любую существующую информацию.
Предупреждение: Режим записи удаляет существующее содержимое немедленно . Проверьте, существует ли файл, прежде чем случайно перезаписать информацию.
Чтобы открыть файл для записи информации, используйте:
f = open("<имя файла>", "w") Режим по умолчанию — текстовый, поэтому следующая строка эквивалентна режиму по умолчанию:
f = open("<имя файла>", "wt") Для записи в двоичном режиме откройте файл командой:
f = open("<имя файла>", "wb") Добавьте + , чтобы разрешить чтение файла:
f = open("<имя файла>", "w+") # Текстовая запись и чтение f = open("<имя файла>", " wt+") # То же, что и выше f = open("<имя файла>", "wb+") # Двоичная запись и чтение Функция open() возвращает файловый объект, детали которого зависят от выбранного режимы.
Режим добавления
Режим добавления добавляет информацию в существующий файл, помещая указатель в конец. Если файл не существует, режим добавления создает файл.
Примечание: Основное различие между режимами записи и добавления заключается в том, что добавление не очищает содержимое файла.
Используйте одну из следующих строк, чтобы открыть файл в режиме добавления:
f = open("<имя файла>", "a") # Добавление текста f = open("<имя файла>", " at") # То же, что и выше f = open("<имя файла>", "ab") # Двоичное добавление Добавьте знак + , чтобы включить функцию чтения.
Режим создания
Режим создания (также известный как монопольное создание) создает файл, только если он не существует, устанавливая указатель в начало файла.
Примечание: Если файл существует, Python выдает ошибку. Используйте этот режим, чтобы избежать перезаписи существующих файлов.
Используйте одну из следующих строк, чтобы открыть файл в режиме создания:
f = open("<имя файла>", "x") # Text create f = open("<имя файла>", " xt") # То же, что и выше f = open("<имя файла>", "xb") # Создание двоичного файла Добавьте знак + в режим включения функции чтения в любую из вышеперечисленных строк.
Чтение файлов в Python
После импорта файла в объект Python предлагает множество методов для чтения содержимого.
Используйте метод read() для файлового объекта и распечатайте результат. Например:
f = открыть("file.txt")
print(f.read(),end="") Примечание: print() 9Функция 0121 автоматически добавляет новую пустую строку. Чтобы изменить это поведение, добавьте параметр end="" к print() , чтобы удалить пустую строку.
Код печатает содержимое текстового файла.
Чтение частей файла
Укажите номер функции read() для чтения только указанного количества символов:
f = open("file.txt")
print(f.read(5)) Вывод печатает первые пять символов в файле.
В качестве альтернативы используйте метод readline() для печати только первой строки файла:
f = open("file.
txt")
print(f.readline()) Добавьте целое число к функции readline() , чтобы напечатать указанное количество символов, не выходя за пределы первой строки.
Чтение строк
Для чтения строк и перебора содержимого файла используйте цикл for :
f = open("file.txt")
для строки в f:
печать (строка, конец = "") В качестве альтернативы используйте метод readlines() для файлового объекта:
f = open("file.txt")
print(f.readlines()) Функция возвращает список строк из файлового потока.
Добавьте целое число к функции readlines() для управления количеством строк. Например:
f = открыть("file.txt")
print(f.readlines(15)) Целое число представляет номер символа, и функция возвращает строку, где заканчивается символ, вместе с предыдущими строками.
Закрыть файлы
Файл остается открытым до вызова функции close() .![]()
Чтобы закрыть файл, запустите метод close() для файлового объекта:
f.close()
Альтернативный способ обеспечить закрытие файла — использовать оператор с оператором . Например:
с open("<имя файла>"):
file_contents = f.read()
# Дополнительный код здесь Оператор with автоматически закрывает файл.
Удаление файлов в Python
Для удаления файлов в Python требуется установить связь с операционной системой. Импортируйте библиотеку os и удалите файл со следующим:
import os
os.remove("file.txt") Файл больше не доступен. Если файл не существует, Python выдает ошибку.
Файловые методы Python
Python предлагает различные другие функции при работе с файловыми объектами.
| Метод | Описание |
|---|---|
close() | Сбрасывает и закрывает объект файла. |
detach() | Отделяет буфер от текстового потока и возвращает буфер. |
fileno() | Возвращает дескриптор файла, если он доступен. |
flush() | Сбрасывает буфер записи. Недоступно для объектов только для чтения. |
isatty() | Проверяет, является ли файловый поток интерактивным. |
read( | Read Максимальное количество символов.![]() |
readable() | Проверяет, доступен ли объект для чтения. |
readline( | Читает из объекта до новой строки или конца файла. |
readlines( | Возвращает список строк из файлового объекта, где — приблизительное количество символов. |
seek(<смещение>, <позиция>) | Изменяет позицию указателя на <смещение> относительно <позиция> . |
seekable() | Проверяет, поддерживает ли файловый объект произвольный доступ. |
tell() | Выводит текущую позицию потока.![]() Оставить комментарий
|


Все дополнения делаются в конце файла, и никакие существующие данные не могут быть изменены.
txt"
Хотя Python автоматически закрывает файл, если ссылочный объект файла выделяется для другого файла, стандартная практика — закрытие открытого файла, поскольку закрытый файл снижает риск необоснованного изменения или чтения.
close () 
0053
txt")
print(f.readline()) 
