Автор оригинала: Pankaj Kumar.
Модуль Python IO позволяет нам управлять операциями ввода и вывода, связанными с файлами. Преимущество использования модуля IO состоит в том, что имеющиеся классы и функции позволяют расширить функциональные возможности, чтобы включить запись в данные Unicode.
Python IO модуль
Есть много способов, которыми мы можем использовать модуль IO для выполнения операций потока и буферов в Python. Мы продемонстрируем много примеров здесь, чтобы доказать точку зрения. Давайте начнем.
Python Bytesio
Также как то, что мы делаем с переменными, данные могут храниться как байты в буфере в памяти, когда мы используем операции Byte Module IO Module.
Вот образец программы для демонстрации этого:
import io stream_str = io.BytesIO(b"JournalDev Python: \x00\x01") print(stream_str.getvalue())
Давайте посмотрим на вывод этой программы: GetValue ()
Функция просто принимает значение из буфера в виде строки.
Python Stringio
Мы даже можем использовать Stringio
а также чрезвычайно похожее в использовании для Bytesio
Отказ Вот образец программы:
import io data = io.StringIO() data.write('JournalDev: ') print('Python.', file=data) print(data.getvalue()) data.close()
Давайте посмотрим на вывод этой программы: обратите внимание, что мы даже закрыли буфер после того, как мы закончим с буфером. Это помогает сохранить буферную память, когда они хранят данные в памяти.
Кроме того, мы использовали метод печати с дополнительным аргументом для указания потока IO переменной, который идеально совместим с оператором печати.
Чтение с помощью Stringio
Как только мы пишем некоторые данные в буфер Stringio, мы можем прочитать его также. Давайте посмотрим на фрагмент кода:
import io input = io.StringIO('This goes into the read buffer.') print(input.read())
Давайте посмотрим на вывод этой программы:
Чтение файла с помощью Stringio
Также можно прочитать файл и поток его по сети в качестве байтов. Модуль IO может использоваться для преобразования медиафайла, например, изображение, которое будет преобразовано в байты. Вот образец программы:
import io file = io.open("whale.png", "rb", buffering = 0) print(file.read())
Давайте посмотрим на вывод этой программы: для этой программы для запуска мы имели изображение WHALE.PNG, присутствующее в нашем текущем каталоге.
io.open () vs os.open ()
IO.Open ()
Функция – это гораздо предпочтительный способ выполнения операций ввода/вывода, так как она производится как интерфейс высокого уровня для файла PEFORM I/O. Он обертывает дескриптор файла уровня OS в объекте, который мы можем использовать для доступа к файлу в питоновом пути.
OS.Open ()
Функция заботится о Syscall ниже уровня. Он принимает аргументы на основе ввода POSIX и возвращает дескриптор файла, который представляет открытый файл. Это не возвращает файловый объект; Возвращенное значение не будет иметь Читать ()
или Написать ()
Функции.
В целом, IO.Open ()
Функция просто обертка над OS.Open ()
функция. OS.Open ()
Функция также также устанавливает конфигурацию по умолчанию, как флаги и режим, в то время как IO.Open () не к ней и зависит от значений, переданных ему.
Заключение
В этом уроке мы изучали простые операции модуля Python IO и как мы можем управлять символами Unicode с Bytesio. Однако, если вы ищете полные файловые операции, такие как удаление и скопируйте файл, затем прочитайте файл чтения Python.
Ссылка: API док