Методы файлов 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 | Закрыть файл. После закрытия файл больше нельзя читать или записывать. |
| 2 | Сбросить внутренний буфер файла, немедленно записав данные из внутреннего буфера прямо в файл, а не пассивно ожидая записи выходного буфера. |
| 3 | Возвращает целочисленный файловый дескриптор (целое число FD), который можно использовать в некоторых низкоуровневых операциях, таких как метод read модуля os. |
| 4 | Возвращает True, если файл подключён к терминальному устройству, иначе возвращает False. |
| 5 | Объект File в Python 3 не поддерживает метод next(). Возвращает следующую строку файла. |
| 6 | Прочитать указанное количество байтов из файла; если не указано или отрицательное, прочитать всё. |
| 7 | Читает целую строку, включая символ "\n". |
| 8 | Прочитать все строки и вернуть список. Если задано sizeint>0, вернуть строки общим объёмом примерно sizeint байтов. Фактически прочитанное значение может быть больше sizeint, поскольку необходимо заполнить буфер. |
| 9 | Переместить указатель чтения файла в указанную позицию |
| 10 | Возвращает текущую позицию файла. |
| 11 | Усекает от первого символа первой строки файла, усекая файл до size символов. Отсутствие size означает усечение с текущей позиции. После усечения все последующие символы удаляются. Перевод строки в системе Windows представляет размер в 2 символа. |
| 12 | Записывает строку в файл, возвращая длину записанных символов. |
| 13 | Записывает последовательность (список) строк в файл. Если нужны разрывы строк, вы должны сами добавить символ новой строки в каждую строку. |