Методы файлов Python3

Метод open()

Python open()Этот метод используется для открытия файла и возврата файлового объекта.

Эта функция нужна при обработке файлов. Если файл не удаётся открыть, будет вызвано исключениеOSError。

Примечание:При использовании методаopen()необходимо убедиться, что файловый объект закрыт, то есть вызвать методclose().

open()Обычная форма функции принимает два параметра: имя файла (file) и режим (mode).

open(file, mode='r')

Полный синтаксис имеет вид:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

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

  • file: Обязательный, путь к файлу (относительный или абсолютный).
  • mode: Необязательный, режим открытия файла
  • buffering: Установка буферизации
  • encoding: Обычно используется utf8
  • errors: Уровень сообщений об ошибках
  • newline: Различать символы новой строки
  • closefd: тип переданного файлового параметра
  • opener: Установить пользовательский opener. Возвращаемое значение opener должно быть открытым файловым дескриптором.

Параметр mode имеет:

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

По умолчанию используется текстовый режим. Чтобы открыть в бинарном режиме, добавьтеb 。

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

Объект файла создаётся с помощью функции open. В следующей таблице перечислены часто используемые функции объекта файла:

Нет.Метод и описание
1

file.close()

Закрыть файл. После закрытия файл больше нельзя читать или записывать.

2

file.flush()

Сбросить внутренний буфер файла, немедленно записав данные из внутреннего буфера прямо в файл, а не пассивно ожидая записи выходного буфера.

3

file.fileno()

Возвращает целочисленный файловый дескриптор (целое число FD), который можно использовать в некоторых низкоуровневых операциях, таких как метод read модуля os.

4

file.isatty()

Возвращает True, если файл подключён к терминальному устройству, иначе возвращает False.

5

file.next()

Объект File в Python 3 не поддерживает метод next().

Возвращает следующую строку файла.

6

file.read([size])

Прочитать указанное количество байтов из файла; если не указано или отрицательное, прочитать всё.

7

file.readline([size])

Читает целую строку, включая символ "\n".

8

file.readlines([sizeint])

Прочитать все строки и вернуть список. Если задано sizeint>0, вернуть строки общим объёмом примерно sizeint байтов. Фактически прочитанное значение может быть больше sizeint, поскольку необходимо заполнить буфер.

9

file.seek(offset[, whence])

Переместить указатель чтения файла в указанную позицию

10

file.tell()

Возвращает текущую позицию файла.

11

file.truncate([size])

Усекает от первого символа первой строки файла, усекая файл до size символов. Отсутствие size означает усечение с текущей позиции. После усечения все последующие символы удаляются. Перевод строки в системе Windows представляет размер в 2 символа.

12

file.write(str)

Записывает строку в файл, возвращая длину записанных символов.

13

file.writelines(sequence)

Записывает последовательность (список) строк в файл. Если нужны разрывы строк, вы должны сами добавить символ новой строки в каждую строку.

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