Найти тему

Python. Встроенная функция open(). (63)

Функция open( )

Синтаксис:

open(путь, режим = ‘r’, буферизация = -1, кодировка = None, ошибка = None, перевод_строки = None, closed = True, opener = None)

путь – путь к файлу, может быть абсолютным т.е. полным (например ‘C:\Users\Downloads\text.py’), если же вызываемый файл находится в текущем рабочем каталоге можно применять относительный путь( например ‘text.py’). Обязательный аргумент, строка (str).

режим – режим в котором открывается файл.

Доступны следующие значения:

- 'r' – открывает файл для чтения. Если файла не существует возбуждается исключение FileNotFoundError.

- ‘w’ – отрывает файл для записи. Если файла нет он будет создан, если файл есть, вся информация в отрываемом файле будет удалена.

- ‘a’ – открывает файл для записи в конец файла.

- ‘x’ – создает новый файл и отрывает его для записи. Если файл существует возбуждается исключение ' FileExistsError

- ‘+’ – открывает файл для обновления, чтения и записи.

Файл может быть открыт в текстовом или двоичном режиме. Для открытия файла в двоичном режиме необходимо добавить к выбранному режиму символ ‘b’, для открытия файл в текстовом режиме – добавляется символ ‘t’. В случае если не один из символов не указан файл открывается в текстовом режиме.

Аргумент режим – необязательный, по умолчанию равен ‘rt’.

буферизация – выбор политики буферизации, возможны следующие значения:

- 0 – отключение буферизации, данные сразу записываются в файл. Доступно только в двоичном режиме;

- 1 – построчная буферизация;

Целое число меньше 1 для указания размера буфера в байтах;

Если аргумента буферизация – нет, размер буфера автоматически выбирается или 4096 или 8192 байта.

Необязательный аргумент.

кодировка – название кодировки для кодирования и декодирования файла. Используется только в текстовом режиме. По умолчанию кодировка зависит от операционной системы (для русской Windows это cp1251). В качестве аргумента кодировка могут использоваться любые кодировки поддерживаемая Python. Их можно посмотреть в модуле codecs. Необязательный аргумент, по умолчанию равен None.

ошибка – режим обработки ошибок кодировки. Может принимать следующие стандартные значения:

'strict' –ошибка кодирования возбуждает исключение ValueError. (значение None делает тоже самое)

‘ignore’ – ошибка кодирования игнорируется

‘replace’ – ошибка кодирования заменяется на замещающий маркер (например - ?). Используется только с текстовыми кодировками.

‘xmlcharrefreplace’ - ошибка кодирования заменяется ссылкой на символ XML. Используется только с текстовыми кодировками.

‘backslashreplace’ - ошибка кодирования заменяется на escape-последовательность с обратной косой чертой. Используется только с текстовыми кодировками.

‘namereplace’ - ошибка кодирования заменяется на \N{…}escape-последовательность. Используется только с текстовыми кодировками.

‘surrogateescape’ – не декодированные байты будут представлены как суррогатные коды в пределах от U+DC80 до U+DCFF. При кодировании обработчик ошибок surrogateescape преобразует их обратно в соответствующий байт

‘surrogatepass’ – разрешение на кодирование и декодирование суррогатных кодов.

Может принимать и пользовательские значения.

Необязательный аргумент, по умолчанию равен None.

перевод_строки – задает режим работы универсальных символов новых строк. Может иметь значения: None, ‘ ‘, ‘\n’, ‘\r’, ‘\r\n\’.

closed в случае если в аргументе путь указано имя файла или путь к нему, аргумент должен иметь значение True, в случае если в аргументе путь указан дескриптор, то значение аргумента - False оставляет открытым дескриптор после закрытия файла.

opener название пользовательского объекта, который будет использован для открытия файла.

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

В текстовом режиме – функция open() возвращает объект io.TextIOWrapper.

В двоичном режиме чтения с буферизацией – функция open() возвращает объект io.BufferedReader.

В двоичном режиме записи с буферизацией – функция open() возвращает объект io.BufferedWriter.

В двоичном режиме без буферизации – функция open() возвращает объект io.FileIO.

По ссылкам можно почитать мои конспекты:

Встроенные функции (Built-in)
Методы словаря (Dict methods)
Методы списков (List methods)
Строковые методы (String Methods)
Спецификаторы
Итерируемый тип данных
Инструкции continue, break и pass
Цикл for … in
Цикл while
Условная инструкция if
Индексация
Переменные
Встроенные функции print() и input()
Оператор присваивания
Основные типы данных
Коротко о языке
Книги и курсы по Python
Книги и курсы по Python год спустя.
Наука
7 млн интересуются