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