Как читать двоичные файлы в Python

How Read Binary Files Python



Файл, содержащий двоичные данные, называется двоичным файлом. Любые отформатированные или неформатированные двоичные данные хранятся в двоичном файле, и этот файл не читается человеком и используется компьютером напрямую. Когда двоичный файл требуется для чтения или передачи из одного места в другое, содержимое файла преобразуется или кодируется в удобочитаемый формат. Расширение двоичного файла - .bin. Содержимое двоичного файла можно прочитать с помощью встроенной функции или модуля. В этом руководстве были показаны различные способы чтения двоичных файлов в Python.

Предварительные условия:

Прежде чем проверять примеры этого руководства, лучше создать один или несколько двоичных файлов для использования в примере сценария. Ниже приведен сценарий двух файлов Python для создания двух двоичных файлов. Binary1.py создаст двоичный файл с именем string.bin который будет содержать строковые данные, а binary2.py создаст двоичный файл с именем number_list.bin который будет содержать список числовых данных.







Binary1.py

# Откройте обработчик файла для создания двоичного файла

file_handlerзнак равно открытым('строка.bin', 'wb')

# Добавить две строки текста в двоичный файл

file_handler.записывать(б«Добро пожаловать в LinuxHint. пИзучите программирование на Python ».)

# Закрываем обработчик файлов

file_handler.близко()

Binary2.py

# Откройте обработчик файла для создания двоичного файла

файлзнак равнооткрытым('number_list.bin','wb')

# Объявить список числовых значений

числазнак равно[10,30,Четыре пять,60,70,85,99]

# Преобразуем список в массив

забиватьзнак равноbytearray(числа)

# Записываем массив в файл

файл.записывать(забивать)

файл.близко()

Пример-1: считывание двоичного файла строковых данных в байтовый массив

В Python существует множество способов чтения двоичного файла. Вы можете прочитать определенное количество байтов или все содержимое двоичного файла за раз. Создайте файл Python со следующим скриптом. В функция open () использовал, чтобы открыть string.bin для чтения. В функция чтения () используется для чтения 7 символов из файла на каждой итерации цикла while и печати. Далее функция чтения () был использован без каких-либо аргументов для чтения полного содержимого двоичного файла, который будет напечатан позже.



# Открываем бинарный файл для чтения

file_handlerзнак равно открытым('строка.bin', 'rb')

# Прочитать первые три байта из двоичного файла

data_byteзнак равноfile_handler.читать(7)

Распечатать('Выведите три символа на каждой итерации:')

# Итерируем цикл, чтобы прочитать оставшуюся часть файла

в то время какdata_byte:

Распечатать(data_byte)

data_byteзнак равноfile_handler.читать(7)


# Прочитать весь файл как однобайтовую строку

с участием открытым('строка.bin', 'rb') в качествеfh:

содержаниезнак равноfh.читать()

Распечатать('Распечатать полное содержимое двоичного файла:')

Распечатать(содержание)

Выход:

Следующий вывод появится после выполнения вышеуказанного сценария.







Пример-2: считывание двоичного файла строковых данных в массив

Создайте файл python со следующим сценарием для чтения двоичного файла с именем number_list.bin созданный ранее. Этот двоичный файл содержит список числовых данных. Как и в предыдущем примере, функция open () использовал открытый двоичный файл для чтения в скрипте. Затем первые 5 чисел будут считаны из двоичного файла и преобразованы в список перед печатью.

# Открываем бинарный файл для чтения

файл знак равно открытым('number_list.bin', 'rb')

# Считываем первые пять чисел в список

количествознак равно список(файл.читать(5))

# Распечатать список

Распечатать(количество)

# Закрываем файл

файл.близко()

Выход:

Следующий вывод появится после выполнения вышеуказанного сценария. Двоичный файл содержит 7 чисел, и первые пять чисел напечатаны на выходе.



Пример-3: Чтение двоичного файла с помощью NumPy

Способы создания двоичного файла с помощью NumPy массив и прочитать содержимое двоичного файла, используя в список, используя Модуль NumPy показали в этой части учебника. Перед проверкой сценария, приведенного ниже, вам необходимо установить Модуль NumPy выполнив команду с терминала или установив Пакет NumPy в редакторе Python, где будет выполняться скрипт. В tofile () функция используется для создания текстового или двоичного файла, а fromfile () функция используется для создания массива путем чтения текстового или двоичного файла.

Синтаксис tofile ():

ndarray.файл(файл,Сензнак равно'',форматзнак равно'% s')

Первый аргумент является обязательным и принимает в качестве значения имя файла, строку или путь. Файл будет создан, если в этом аргументе указано имя файла. Второй аргумент является необязательным и используется для разделения элементов массива. Третий аргумент также является необязательным и используется для форматирования вывода текстового файла.

Синтаксис fomfile ():

тупой.из файла(файл,dtypeзнак равноплавать,считатьзнак равно-1,Сензнак равно'',компенсироватьзнак равно0,*,нравитьсязнак равноНикто)

Первый аргумент является обязательным и принимает в качестве значения имя файла, строку или путь. Содержимое файла будет прочитано, если в этом аргументе будет указано имя файла. В dtype определяет тип данных возвращаемого массива. Счетчик используется для подсчета количества предметов. Цель Сен заключается в разделении текста или элементов массива. Смещение используется для определения текущей позиции файла. Последний аргумент используется для создания объекта массива, который не является NumPy массив .

Создайте файл python со следующим скриптом, чтобы создать двоичный файл, используя NumPy массив и прочтите и распечатайте содержимое двоичного файла.

# Импортировать модуль NumPy

Импортироватьтупойв качественапример

# Объявить массив numpy

nparrayзнак равнонапримермножество([3. 4, 89, 30, Четыре пять, 90, одиннадцать])

# Создать двоичный файл из массива numpy

nparray.файл('list.bin')

# Распечатать данные из двоичного файла

Распечатать(напримериз файла('list.bin',dtypeзнак равнонапримерint64))

Выход:

Следующий вывод появится после выполнения вышеуказанного сценария.

Заключение:

В этом руководстве на простых примерах были показаны три различных способа чтения двоичного файла. Первый пример вернул содержимое двоичного файла в виде байтового массива. Второй пример вернул содержимое двоичного файла в виде списка. В последнем примере также было возвращено содержимое двоичного файла в виде списка.