Como ler arquivos binários em Python

How Read Binary Files Python



O arquivo que contém os dados binários é chamado de arquivo binário. Todos os dados binários formatados ou não formatados são armazenados em um arquivo binário, e esse arquivo não é legível por humanos e é usado diretamente pelo computador. Quando um arquivo binário é necessário para ler ou transferir de um local para outro, o conteúdo do arquivo é convertido ou codificado em um formato legível por humanos. A extensão do arquivo binário é .bin. O conteúdo do arquivo binário pode ser lido usando uma função ou módulo integrado. Diferentes maneiras de ler arquivos binários em Python foram mostradas neste tutorial.

Pré-requisito:

Antes de verificar os exemplos deste tutorial, é melhor criar um ou mais arquivos binários para usar no script de exemplo. O script de dois arquivos python deu abaixo para criar dois arquivos binários. O binary1.py criará um arquivo binário denominado string.bin que conterá dados de string, e o binary2.py criará um arquivo binário denominado numero_lista.bin que conterá uma lista de dados numéricos.







Binary1.py

# Abra um gerenciador de arquivos para criar um arquivo binário

file_handler= abrir('string.bin', 'wb')

# Adicione duas linhas de texto no arquivo binário

file_handler.escrever(b'Bem-vindo ao LinuxHint. nAprenda Programação Python. ')

# Feche o gerenciador de arquivos

file_handler.fechar()

Binary2.py

# Abra um gerenciador de arquivos para criar um arquivo binário

Arquivo=abrir('numero_lista.bin','wb')

# Declare uma lista de valores numéricos

números=[10,30,Quatro cinco,60,70,85,99]

# Converta a lista em array

barray=bytearray(números)

# Grava o array no arquivo

Arquivo.escrever(barray)

Arquivo.fechar()

Exemplo-1: leia o arquivo binário de dados de string na matriz de bytes

Existem muitas maneiras em Python de ler o arquivo binário. Você pode ler o número específico de bytes ou todo o conteúdo do arquivo binário por vez. Crie um arquivo python com o seguinte script. o função open () usou para abrir o string.bin para ler. o função read () foi usado para ler 7 caracteres do arquivo em cada iteração do loop while e print. A seguir, o função read () foi usado sem nenhum argumento para ler o conteúdo completo do arquivo binário que será impresso posteriormente.



# Abra o arquivo binário para leitura

file_handler= abrir('string.bin', 'rb')

# Leia os primeiros três bytes do arquivo binário

data_byte=file_handler.leitura(7)

imprimir('Imprime três caracteres em cada iteração:')

# Repita o loop para ler a parte restante do arquivo

enquantodata_byte:

imprimir(data_byte)

data_byte=file_handler.leitura(7)


# Leia o arquivo inteiro como uma string de byte único

com abrir('string.bin', 'rb') Comofh:

contente=fh.leitura()

imprimir('Imprime todo o conteúdo do arquivo binário:')

imprimir(contente)

Saída:

A seguinte saída aparecerá após a execução do script acima.







Exemplo-2: leia o arquivo binário de dados de string na matriz

Crie um arquivo python com o seguinte script para ler um arquivo binário denominado numero_lista.bin criado anteriormente. Este arquivo binário contém uma lista de dados numéricos. Como no exemplo anterior, o função open () usou para abrir o arquivo binário para leitura no script. Em seguida, os primeiros 5 números serão lidos do arquivo binário e convertidos em uma lista antes da impressão.

# Abra o arquivo binário para leitura

Arquivo = abrir('numero_lista.bin', 'rb')

# Leia os primeiros cinco números em uma lista

número= Lista(Arquivo.leitura(5))

# Imprima a lista

imprimir(número)

# Feche o arquivo

Arquivo.fechar()

Saída:

A seguinte saída aparecerá após a execução do script acima. O arquivo binário contém 7 números e os primeiros cinco números foram impressos na saída.



Exemplo-3: Leia o arquivo binário usando NumPy

As maneiras de criar o arquivo binário usando o Matriz NumPy e ler o conteúdo do arquivo binário usando em uma lista usando o Módulo NumPy mostraram nesta parte do tutorial. Antes de verificar o script fornecido abaixo, você deve instalar o Módulo NumPy executando o comando a partir do terminal ou instalando o Pacote NumPy no editor Python, onde o script será executado. o função tofile () é usado para criar um arquivo de texto ou binário, e o função fromfile () é usado para criar um array lendo um arquivo de texto ou binário.

Sintaxe de tofile ():

ndarray.arquivar(Arquivo,Set='',formato='% s')

O primeiro argumento é obrigatório e leva o nome do arquivo ou string ou caminho como um valor. O arquivo será criado se um nome de arquivo for fornecido neste argumento. O segundo argumento é opcional, usado para separar os elementos da matriz. O terceiro argumento também é opcional e usado para formatar a saída do arquivo de texto.

Sintaxe de fomfile ():

entorpecido.De arquivo(Arquivo,dtype=flutuador,contar=-1,Set='',Deslocamento=0,*,gostar=Nenhum)

O primeiro argumento é obrigatório e leva o nome do arquivo ou string ou caminho como um valor. O conteúdo do arquivo será lido se um nome de arquivo for fornecido neste argumento. o dtype define o tipo de dados da matriz retornada. A contagem é usada para contar o número de itens. O propósito do Set é separar o texto ou os itens da matriz. O deslocamento é usado para definir a posição atual do arquivo. O último argumento é usado para criar um objeto array que não é um Matriz NumPy .

Crie um arquivo python com o seguinte script para criar um arquivo binário usando Matriz NumPy e ler e imprimir o conteúdo do arquivo binário.

# Importar módulo NumPy

importarentorpecidoComopor exemplo

# Declare numpy array

nparray=por exemplo.variedade([3. 4, 89, 30, Quatro cinco, 90, onze])

# Crie um arquivo binário a partir da matriz numpy

nparray.arquivar('list.bin')

# Imprimir dados do arquivo binário

imprimir(por exemplo.De arquivo('list.bin',dtype=por exemplo.int64))

Saída:

A seguinte saída aparecerá após a execução do script acima.

Conclusão:

Três maneiras diferentes de ler o arquivo binário foram mostradas neste tutorial usando exemplos simples. O primeiro exemplo retornou o conteúdo do arquivo binário como uma matriz de bytes. O segundo exemplo retornou o conteúdo do arquivo binário como uma lista. O último exemplo também retornou o conteúdo do arquivo binário como uma lista.