Функция open() в Python

Python 内置函数Встроенные функции Python

Функция open() в Python используется для открытия файла, создаваяфайловыйобъект, чтобы можно было вызывать связанные методы для чтения и записи.

Для получения дополнительной информации о файловых операциях см.:Файловый ввод-вывод в Python。

Синтаксис функции

open(name[, mode[, buffering]])

Описание параметра:

  • name: строковое значение, содержащее имя файла, к которому вы хотите получить доступ.

  • mode: режим определяет, в каком режиме открывается файл: только для чтения, запись, добавление и т. д. Полный список всех возможных значений см. ниже. Этот параметр необязателен; режим доступа к файлу по умолчанию — только для чтения (r).

  • buffering: если значение buffering равно 0, буферизация не выполняется. Если значение buffering равно 1, при доступе к файлу буферизуются строки. Если значение buffering — целое число больше 1, оно указывает размер буфера области буферизации. Если используется отрицательное значение, размер буфера соответствует системному значению по умолчанию.

Полный список различных режимов открытия файлов:

ModeОписание
tТекстовый режим (по умолчанию).
xРежим записи, создаёт новый файл; если файл уже существует, будет сообщено об ошибке.
bДвоичный режим.
+Открыть файл для обновления (доступен для чтения и записи).
UУниверсальный режим новой строки (не рекомендуется).
rОткрыть файл в режиме только для чтения. Указатель файла будет установлен в начало файла. Это режим по умолчанию.
rbОткрыть файл в бинарном формате только для чтения. Указатель файла будет установлен в начало файла. Это режим по умолчанию. Обычно используется для нетекстовых файлов, таких как изображения.
r+Открыть файл для чтения и записи. Указатель файла будет установлен в начало файла.
rb+Открыть файл в бинарном формате для чтения и записи. Указатель файла будет установлен в начало файла. Обычно используется для нетекстовых файлов, таких как изображения.
wОткрыть файл только для записи. Если файл уже существует, откройте файл и редактируйте с начала, то есть исходное содержимое будет удалено. Если файл не существует, создайте новый файл.
wbОткрыть файл в бинарном формате только для записи. Если файл уже существует, откройте файл и редактируйте с начала, то есть исходное содержимое будет удалено. Если файл не существует, создайте новый файл. Обычно используется для нетекстовых файлов, таких как изображения.
w+Открыть файл для чтения и записи. Если файл уже существует, открыть файл и редактировать с начала, то есть исходное содержимое будет удалено. Если файл не существует, создать новый файл.
wb+Открыть файл в бинарном формате для чтения и записи. Если файл уже существует, открыть файл и редактировать с начала, то есть исходное содержимое будет удалено. Если файл не существует, создать новый файл. Обычно используется для нетекстовых файлов, таких как изображения.
aОткрыть файл для добавления. Если файл уже существует, указатель файла будет установлен в конец файла. То есть новое содержимое будет записано после существующего содержимого. Если файл не существует, создать новый файл для записи.
abОткрыть файл в бинарном формате для добавления. Если файл уже существует, указатель файла будет установлен в конец файла. То есть новое содержимое будет записано после существующего содержимого. Если файл не существует, создать новый файл для записи.
a+Открыть файл для чтения и записи. Если файл уже существует, указатель файла будет помещён в конец файла. Файл будет открыт в режиме добавления. Если файла не существует, создайте новый файл для чтения и записи.
ab+Открыть файл в двоичном формате для добавления. Если файл уже существует, указатель файла будет помещён в конец файла. Если файла не существует, создайте новый файл для чтения и записи.

Методы файлового объекта

  • file.read([size]): Если size не указан, возвращается весь файл. Если размер файла превышает удвоенный объём памяти, возникнет проблема. f.read() возвращает "" (пустую строку), когда чтение доходит до конца файла.

  • file.readline(): Возвращает одну строку.

  • file.readlines([size]) : Возвращает список, содержащий size строк; если size не указан, возвращает все строки.

  • for line in f: print line : Доступ через итератор.

  • f.write("hello\n"): Если нужно записать данные, отличные от строки, сначала преобразуйте их в строку.

  • f.tell(): Возвращает целое число, указывающее текущую позицию указателя файла (то есть количество байтов от начала файла).

  • f.seek(offset, [start_position]): Используется для перемещения указателя файла.

    • Смещение: в байтах, может быть положительным или отрицательным.
    • Начальная позиция: 0 — начало файла, значение по умолчанию; 1 — текущая позиция; 2 — конец файла
  • f.close()Закрыть файл

Для получения дополнительной информации обратитесь к:Методы файла Python (file)

Примеры

Тестовый файл test.txt, содержимое следующее:

EXAMPLE1
EXAMPLE2
>>>f = open('test.txt') >>> f.read() 'ПРИМЕР1\nПРИМЕР2\n'

Python 内置函数Встроенные функции Python

Другие расширения