Python 3 open file: How can I open multiple files using «with open» in Python?

Как открыть и закрыть файл в 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+ Открыть файл для чтения и записи и создать новый файл, если он не существует. Все дополнения делаются в конце файла, и никакие существующие данные не могут быть изменены.

Пример 1:  Открыть и прочитать файл с помощью Python

В этом примере мы будем открывать файл только для чтения. Исходный файл выглядит следующим образом:

Код:

Python3

file = open ( "sample.txt" )

 

print ( file .read())

Здесь мы открыли файл и распечатали его содержимое.

Вывод:  

 Привет, Компьютерщик!
Это образец текстового файла для примера. 

Пример 2:   Открытие и запись в файл с помощью Python

В этом примере мы будем добавлять новое содержимое к существующему файлу. Таким образом, первоначальный файл выглядит ниже:

Код:

Python3

Файл = Open ( "

0" "" "" "" "" "" "" "" ""

0 "

0" "" "

0"

0 "

0"

0 "

0". a'
)

 

файл .write( "Этот текст был недавно добавлен в файл образца" )

Теперь, если вы откроете файл, вы увидите приведенный ниже результат,

Вывод:

Пример 3: Открыть и перевернуть файл Python

в этом примере. , мы перезапишем содержимое файла примера следующим кодом:

Код:

Python3

file = 1 1 open0120 ( "sample. txt" , 'w' )

 

file .write( " All content has been overwritten !" )

Приведенный выше код приводит к следующему результату:

Вывод:

Пример 4. Создание файла, если он не существует в Python

Метод path.touch() модуля pathlib создает файл в путь, указанный в пути path.touch().

Python3

from pathlib import Path

 

my_file = Path( 'test1/myfile.txt' )

my_file.touch(exist_ok = True )

f = open (my__file)

Output:

 

Закрытие файла в Python

Как вы заметили, мы не закрыли ни один из файлов, над которыми мы работали в приведенных выше примерах. Хотя Python автоматически закрывает файл, если ссылочный объект файла выделяется для другого файла, стандартная практика — закрытие открытого файла, поскольку закрытый файл снижает риск необоснованного изменения или чтения.
Python имеет метод close() для закрытия файла. Метод close() можно вызывать более одного раза, и если какая-либо операция выполняется с закрытым файлом, возникает ошибка ValueError. В приведенном ниже коде показано простое использование метода close() для закрытия открытого файла.

Пример: Читать и закройте файл с использованием Python

Python3

001

. возникает ошибка ValueError: 

Python3

Файл = Открытый ( " . Print ( Файл .Read ())

Файл . close ()

file = open ( "sample.txt" )

    

print ( file .read( ))

Файл .close ()

Файл .Write ( ».0048

Вывод:

 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+
Create w , w+ , a , a+ , x , x+
Pointer Position Start r , r+ , w , w+ , x , x+
Pointer Position End a , a+
Truncate (clear contents) w , w+
Must Exist r , R+
Не должен существовать x , x+
10101 Режим чтения

.

начало файла.

Примечание: Если файл не существует, 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() Выводит текущую позицию потока.
усечь() Изменяет размер файлового потока на (или текущую позицию, если не указано) и возвращает размер.
write() Записывает в объект файла и возвращает записанное количество символов.
writable()
Проверяет, разрешает ли файловый объект запись.
Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

© 2019 Штирлиц Сеть печатных салонов в Перми

Цифровая печать, цветное и черно-белое копирование документов, сканирование документов, ризография в Перми.