Существуют три типа файлов которые чаще всего обрабатываются на практике:
Текстовый файл - это самый распространенный тип файла, который чаще всего обрабатывается. При использовании этих типов файлов функция open()
возвращает объект TextIOWrapper file
. Вот некоторые примеры того, как эти файлы открываются:
>>> fp = open('foo.txt') >>> fp = open('foo.txt', 'r') >>> fp = open('foo.txt', 'w') >>> type(fp) # <class '_io.TextIOWrapper'>
Буферизованный двоичный тип файлов используется для чтения и записи двоичных файлов. С этими типами файлов функция open()
вернет объект BufferedReader
или объект BufferedWriter file
. Вот некоторые примеры того, как эти файлы открываются:
>>> fp = open('foo.txt', 'rb') >>> fp = open('foo.txt', 'wb') >>> type(fp) # <class '_io.BufferedWriter'>
Необработанный тип файла обычно используется как низкоуровневый строительный блок для двоичных и текстовых потоков. Поэтому он обычно не используется. При использовании этих типов файлов функция open()
возвращает объект FileIO file
. Вот пример того, как открываются эти файлы:
>>> fp = open('abc.txt', 'rb', buffering=0) >>> type(fp) # <class '_io.FileIO'>