Come leggere i file binari in Python

How Read Binary Files Python



Il file che contiene i dati binari è chiamato file binario. Tutti i dati binari formattati o non formattati vengono archiviati in un file binario e questo file non è leggibile e viene utilizzato direttamente dal computer. Quando è necessario leggere o trasferire un file binario da una posizione a un'altra posizione, il contenuto del file viene convertito o codificato in un formato leggibile. L'estensione del file binario è .bin. Il contenuto del file binario può essere letto utilizzando una funzione o un modulo integrato. In questo tutorial sono stati mostrati diversi modi per leggere i file binari in Python.

Prerequisito:

Prima di controllare gli esempi di questo tutorial, è meglio creare uno o più file binari da utilizzare nello script di esempio. Lo script di due file python è fornito di seguito per creare due file binari. Il binary1.py creerà un file binario chiamato string.bin che conterrà dati di stringa e binary2.py creerà un file binario denominato lista_numero.bin che conterrà un elenco di dati numerici.







Binary1.py

# Apri un gestore di file per creare un file binario

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

# Aggiungi due righe di testo nel file binario

file_handler.Scrivi(B'Benvenuto in LinuxHint. Impara la programmazione Python.')

# Chiudi il gestore di file

file_handler.chiudere()

Binary2.py

# Apri un gestore di file per creare un file binario

file=aprire('elenco_numero.bin','wb')

# Dichiara una lista di valori numerici

numeri=[10,30,Quattro cinque,60,70,85,99]

# Converti la lista in array

barray=bytearray(numeri)

# Scrivi l'array nel file

file.Scrivi(barray)

file.chiudere()

Esempio 1: leggere il file binario dei dati della stringa nell'array di byte

Esistono molti modi in Python per leggere il file binario. È possibile leggere il numero particolare di byte o l'intero contenuto del file binario alla volta. Crea un file python con il seguente script. Il funzione open() ha usato per aprire il string.bin per leggere. Il funzione read() è stato utilizzato per leggere 7 caratteri dal file in ogni iterazione del ciclo while e della stampa. Successivamente, il funzione read() è stato utilizzato senza alcun argomento per leggere l'intero contenuto del file binario che verrà stampato in seguito.



# Apri il file binario per la lettura

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

# Legge i primi tre byte dal file binario

byte_dati=file_handler.leggere(7)

Stampa('Stampa tre caratteri in ogni iterazione:')

# Iterare il ciclo per leggere la parte restante del file

mentrebyte_dati:

Stampa(byte_dati)

byte_dati=file_handler.leggere(7)


# Legge l'intero file come una stringa di un singolo byte

insieme a aprire('string.bin', 'rb') comefh:

contenuto=fh.leggere()

Stampa('Stampa l'intero contenuto del file binario:')

Stampa(contenuto)

Produzione:

Il seguente output apparirà dopo aver eseguito lo script sopra.







Esempio 2: leggere il file binario di dati stringa nell'array

Crea un file python con il seguente script per leggere un file binario denominato lista_numero.bin creato in precedenza. Questo file binario contiene un elenco di dati numerici. Come l'esempio precedente, il funzione open() ha usato aprire il file binario per la lettura nello script. Successivamente, i primi 5 numeri verranno letti dal file binario e convertiti in un elenco prima della stampa.

# Apri il file binario per la lettura

file = aprire('elenco_numero.bin', 'rb')

# Leggi i primi cinque numeri in un elenco

numero= elenco(file.leggere(5))

# Stampa la lista

Stampa(numero)

# Chiudi il file

file.chiudere()

Produzione:

Il seguente output apparirà dopo aver eseguito lo script sopra. Il file binario contiene 7 numeri e nell'output sono stati stampati i primi cinque numeri.



Esempio 3: leggi il file binario usando NumPy

I modi per creare il file binario usando il NumPy array e leggi il contenuto del file binario usando in una lista usando il Modulo NumPy hanno mostrato in questa parte del tutorial. Prima di controllare lo script indicato di seguito, è necessario installare il Modulo NumPy eseguendo il comando da terminale o installando il Pacchetto NumPy nell'editor Python, dove verrà eseguito lo script. Il funzione tofile() viene utilizzato per creare un file di testo o binario e il funzione fromfile() viene utilizzato per creare un array leggendo un file di testo o binario.

Sintassi di tofile():

ndarray.file(file,settembre='',formato='%S')

Il primo argomento è obbligatorio e accetta il nome del file o la stringa o il percorso come valore. Il file verrà creato se viene fornito un nome file in questo argomento. Il secondo argomento è facoltativo e viene utilizzato per separare gli elementi dell'array. Anche il terzo argomento è facoltativo e viene utilizzato per formattare l'output del file di testo.

Sintassi di fomfile():

insensibile.dal file(file,dtype=galleggiante,contare=-1,settembre='',compensare=0,*,Come=Nessuno)

Il primo argomento è obbligatorio e accetta il nome del file o la stringa o il percorso come valore. Il contenuto del file verrà letto se verrà fornito un nome file in questo argomento. Il dtype definisce il tipo di dati dell'array restituito. Il conteggio viene utilizzato per contare il numero di elementi. Lo scopo del settembre è separare gli elementi di testo o array. L'offset viene utilizzato per definire la posizione corrente del file. L'ultimo argomento viene utilizzato per creare un oggetto array che non a NumPy array .

Crea un file python con il seguente script per creare un file binario usando NumPy array e leggere e stampare il contenuto del file binario.

# Importa modulo NumPy

importareinsensibilecomeper esempio

# Dichiara l'array numpy

nparray=per esempio.Vettore([3. 4, 89, 30, Quattro cinque, 90, undici])

# Crea un file binario da un array numpy

nparray.file('lista.bin')

# Stampa i dati dal file binario

Stampa(per esempio.dal file('lista.bin',dtype=per esempio.int64))

Produzione:

Il seguente output apparirà dopo aver eseguito lo script sopra.

Conclusione:

In questo tutorial sono stati mostrati tre modi diversi per leggere il file binario utilizzando semplici esempi. Il primo esempio ha restituito il contenuto del file binario come array di byte. Il secondo esempio ha restituito il contenuto del file binario come un elenco. L'ultimo esempio ha restituito anche il contenuto del file binario come elenco.