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

Метод open()

Метод open() в Python используется для открытия файла и возвращает файловый объект. Эта функция нужна при обработке файлов. Если файл не удаётся открыть, будет вызвано исключение OSError.

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

Обычная форма функции open() состоит в получении двух параметров: filename (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Универсальный режим новой строки (не рекомендуется).
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()

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

6

file.read([size])

Читает указанное количество байтов из файла или читает всё, если параметр не задан или отрицателен.

7

file.readline([size])

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

8

file.readlines([sizeint])

Читает все строки и возвращает список. Если задано sizeint>0, это определяет, сколько байтов читать за один раз, чтобы снизить нагрузку при чтении.

9

file.seek(offset[, whence])

Устанавливает текущую позицию файла.

10

file.tell()

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

11

file.truncate([size])

Усекает файл; количество байтов для усечения задается параметром size и по умолчанию равно текущей позиции файла.

12

file.write(str)

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

13

file.writelines(sequence)

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

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