Следующие функции и исключения предоставляют интерфейс высокого уровня модуля io.
io.DEFAULT_BUFFER_SIZE,io.open(),io.open_code(),io.text_encoding() (новое в версии 3.10.),io.BlockingIOError,io.UnsupportedOperation,io.DEFAULT_BUFFER_SIZE:Атрибут модуля io.DEFAULT_BUFFER_SIZE целое число, содержащее размер буфера по умолчанию, используемого для буферизации классов модуля io. Встроенная функция open() использует размер файла blksize, которое получает от os.stat(), если это возможно.
>>> import io >>> io.DEFAULT_BUFFER_SIZE # 8192
io.open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None):Функция io.open() это псевдоним для встроенной функции open(). Эта функция поднимает событие аудита open с аргументами path, mode и flags. Аргументы mode и flags могут быть изменены или выведены из исходного вызова.
io.open_code(path):Функция io.open_code() открывает предоставленный файл path с режимом 'rb'. Эта функция должна использоваться, когда целью является обработка содержимого как исполняемого кода.
Аргументы path должен быть абсолютный путь до файла.
Поведение функции io.open_code() может быть отменено более ранним вызовом PyFile_SetOpenCodeHook(), однако io.open_code() всегда следует рассматривать как взаимозаменяемую open(path, 'rb'). Переопределение поведения предназначено для дополнительной проверки или предварительной обработки файла.
io.text_encoding(encoding, stacklevel=2):Новое в версии 3.10.
Функция io.text_encoding() является вспомогательной для вызываемых объектов, которые используют open() или io.TextIOWrapper и имеют переданный аргумент encoding=None.
Эта функция возвращает кодировку, если она не None, и 'locale', если кодировка None.
Эта функция выдает исключение EncodingWarning, если sys.flags.warn_default_encoding имеет значение True, а если encoding=None, то выдает переданный аргумент encoding.
Аргумент stacklevel указывает, где выдается предупреждение. Например:
def read_text(path, encoding=None): # по умолчанию `stacklevel=2` encoding = io.text_encoding(encoding) with open(path, encoding) as f: return f.read()
В этом примере для вызывающей функции read_text() выдается исключение EncodingWarning.
Для получения дополнительной информации смотрите раздел "Кодировка текста" в материале "Модуль io, операции ввода/вывода в Python".
io.BlockingIOError:Исключение io.BlockingIOError - это псевдоним совместимости для встроенного исключения BlockingIOError.
io.UnsupportedOperation:Исключение io.UnsupportedOperation наследует исключения OSError и ValueError, которое возникает при вызове неподдерживаемой операции в потоке.
Можно использовать str или bytes - подобный объект в качестве файла как для чтения, так и для записи. Для строк io.StringIO можно использовать как файл, открытый в текстовом режиме. Для io.BytesIO можно использовать как файл, открытый в двоичном режиме. Оба обеспечивают полные возможности чтения-записи с произвольным доступом.