- Функция open() в Python
- Открытие файла в текстовом режиме и режиме только для чтения
- Открытие файла в двоичном режиме и режиме только для чтения
- В двоичном режиме, только для чтения и в буфере
- В двоичном режиме, только для чтения и без буферизации
- В текстовом режиме, только для чтения и с буферизацией строк
- Открытие текстового файла в режиме записи с усечением
- Открытие файла в эксклюзивном режиме создания
Функция open() в Python
Функция open() в Python используется для открытия файла. Это первый шаг при работе с файлами. Если мы хотим читать, записывать или редактировать данные файлов, нам сначала нужно открыть их с помощью функции open().
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
- file: указывает объект пути к файлу. Обычно это объект str или bytes, представляющий путь к файлу. Это обязательный аргумент.
- mode: указывает режим открытия файла. Есть разные режимы открытия файла:
- r: открывает файл в режиме только для чтения.
- w: открывает файл в режиме записи, файл усекается.
- x: открыть для монопольного создания, сбой, если файл уже существует.
- a: открыт для записи, добавляется в конец файла, если он существует.
- b: двоичный режим.
- t: текстовый режим (по умолчанию).
- +: открыть файл на диске для обновления (чтение и запись).
- r: открывает файл в режиме только для чтения.
- w: открывает файл в режиме записи, файл усекается.
- x: открыть для монопольного создания, сбой, если файл уже существует.
- a: открыт для записи, добавляется в конец файла, если он существует.
- b: двоичный режим.
- t: текстовый режим (по умолчанию).
- +: открыть файл на диске для обновления (чтение и запись).
В большинстве случаев мы используем только параметры файла и режима, чтобы открыть файл и выполнить с ним необходимые действия.
Когда файл открывается в текстовом режиме, возвращается экземпляр TextIOWrapper. Когда файл открывается в двоичном режиме, возвращается экземпляр BufferedRandom.
Давайте посмотрим на несколько примеров открытия файла на Python.
Открытие файла в текстовом режиме и режиме только для чтения
# open file in text and read only mode f = open('data.txt', mode='r') print(type(f)) f.close()
Открытие файла в двоичном режиме и режиме только для чтения
f = open('favicon.ico', mode='r+b') print(type(f)) f.close()
В двоичном режиме, только для чтения и в буфере
f = open('favicon.ico', mode='br', buffering=16) f.close()
В двоичном режиме, только для чтения и без буферизации
f = open('favicon.ico', mode='br', buffering=0) f.close()
В текстовом режиме, только для чтения и с буферизацией строк
f = open('data.txt', mode='a', buffering=1) f.close()
Открытие текстового файла в режиме записи с усечением
f = open('data.txt', mode='w') f.close()
Открытие файла в эксклюзивном режиме создания
Если файл уже существует, передача ‘x’ в качестве режима вызовет FileExistsError. Мы можем использовать блок try except, чтобы перехватить это исключение и выполнить корректирующие действия.
try: f = open('data.txt', mode='x') except FileExistsError as e: print('file already exists')