import io fp = io.FileIO(name, mode='r', closefd=True, opener=None)
Класс io.FileIO
представляет файл уровня ОС, содержащий байтовые данные. Он реализует io.RawIOBase
интерфейс и следовательно io.IOBase
интерфейс тоже.
Имя name
может быть одна из двух вещей:
closefd
должен быть True
(по умолчанию), иначе возникнет ошибка.io.FileIO
. Когда объект io.FileIO
закрыт, этот файловый дескриптор также будет закрыт, если для closefd
не установлено значение False
.Режим mode
может быть 'r'
для чтения (по умолчанию), 'w'
записи, 'x'
создания или 'a'
добавление. Файл будет создан, если он не существует при открытии для записи 'w'
или добавления 'a'
. Файл будет усечен при открытии для записи 'w'
. Будет поднято исключение FileExistsError
, если он уже существует, когда открывается для создания 'x'
. Открытие файла для создания подразумевает запись, поэтому этот режим ведет себя аналогично 'w'
. Добавьте '+'
в режим, чтобы разрешить одновременное чтение и запись.
При вызове метода fp.read()
с положительным аргументом и методы fp.readinto()
и fp.write()
этого класса будут делать только один системный вызов.
Необязательный аргумент opener
(по умолчанию None
), пользовательский объект поддерживающий вызов, который следует использовать для открытия файла. Этот объект получая на входе file
и flags
, должен возвращать открытый дескриптор файла, смотри os.open()
. Для примеров использования параметра opener
смотри встроенную функцию open()
.
Вновь созданный файл не наследуется .
В дополнение к атрибутам и методам из io.IOBase
и io.RawIOBase
, io.FileIO
дополнительно предоставляет несколько атрибутов.
io.FileIO
:fp.mode
- Режим как указано в конструкторе.fp.name
- Имя файла или дескриптор файла, когда в конструкторе не указано имя.