Com llegir fitxers binaris a Python

How Read Binary Files Python



El fitxer que conté les dades binàries s’anomena fitxer binari. Totes les dades binàries amb format o sense format s’emmagatzemen en un fitxer binari, que no es pot llegir i que l’ordinador utilitza directament. Quan cal un fitxer binari per llegir o transferir d’una ubicació a una altra ubicació, el contingut del fitxer es converteix o es codifica en un format llegible per humans. L'extensió del fitxer binari és .bin. El contingut del fitxer binari es pot llegir mitjançant una funció o mòdul incorporat. En aquest tutorial s’han mostrat diferents maneres de llegir fitxers binaris a Python.

Requisit previ:

Abans de comprovar els exemples d’aquest tutorial, és millor crear un o més fitxers binaris per utilitzar-los a l’escript d’exemple. A continuació es mostra l'script de dos fitxers Python per crear dos fitxers binaris. Binary1.py crearà un fitxer binari anomenat string.bin que contindrà dades de cadenes i binary2.py crearà un fitxer binari anomenat llista_número.bin que contindrà una llista de dades numèriques.







Binary1.py

# Obriu un gestor de fitxers per crear un fitxer binari

gestor_de_arxius= obert('string.bin', 'wb')

# Afegiu dues línies de text al fitxer binari

gestor_de_arxius.escriure(b'Benvingut a LinuxHint. nApreneu la programació de Python. ')

# Tanqueu el controlador de fitxers

gestor_de_arxius.Tanca()

Binary2.py

# Obriu un gestor de fitxers per crear un fitxer binari

dossier=obert('number_list.bin','wb')

# Declareu una llista de valors numèrics

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

# Converteix la llista en matriu

barray=bytearray(números)

# Escriviu matriu al fitxer

dossier.escriure(barray)

dossier.Tanca()

Exemple-1: llegiu el fitxer binari de dades de cadenes a la matriu de bytes

Hi ha moltes maneres a Python de llegir el fitxer binari. Podeu llegir el nombre concret de bytes o el contingut complet del fitxer binari alhora. Creeu un fitxer python amb el següent script. El funció open () ha utilitzat per obrir el fitxer string.bin per llegir. El funció read () s'ha utilitzat per llegir 7 caràcters del fitxer en cada iteració del bucle mentre que s'imprimeix. A continuació, el funció read () s'ha utilitzat sense cap argument per llegir el contingut complet del fitxer binari que s'imprimirà més endavant.



# Obriu el fitxer binari per llegir-lo

gestor_de_arxius= obert('string.bin', 'rb')

# Llegiu els primers tres bytes del fitxer binari

data_byte=gestor_de_arxius.llegir(7)

imprimir('Imprimiu tres caràcters a cada iteració:')

# Iterar el bucle per llegir la part restant del fitxer

mentredata_byte:

imprimir(data_byte)

data_byte=gestor_de_arxius.llegir(7)


# Llegiu el fitxer sencer com una cadena de byte únic

amb obert('string.bin', 'rb') comfh:

contingut=fh.llegir()

imprimir('Imprimiu el contingut complet del fitxer binari:')

imprimir(contingut)

Sortida:

La següent sortida apareixerà després d'executar l'script anterior.







Exemple-2: llegiu el fitxer binari de dades de cadena a la matriu

Creeu un fitxer python amb el següent script per llegir un fitxer binari anomenat llista_número.bin creat prèviament. Aquest fitxer binari conté una llista de dades numèriques. Com l'exemple anterior, el fitxer funció open () ha utilitzat obrir el fitxer binari per llegir-lo en l'script. A continuació, es llegiran els cinc primers números des del fitxer binari i es convertiran en una llista abans d’imprimir-los.

# Obriu el fitxer binari per llegir-lo

dossier = obert('number_list.bin', 'rb')

# Llegiu els cinc primers números en una llista

número= llista(dossier.llegir(5))

# Imprimiu la llista

imprimir(número)

# Tanca el fitxer

dossier.Tanca()

Sortida:

La següent sortida apareixerà després d'executar l'script anterior. El fitxer binari conté 7 números i els cinc primers números s’han imprès a la sortida.



Exemple 3: Llegiu un fitxer binari mitjançant NumPy

Les maneres de crear el fitxer binari mitjançant Matriu NumPy i llegeix el contingut del fitxer binari en una llista mitjançant el fitxer Mòdul NumPy que s'han mostrat en aquesta part del tutorial. Abans de comprovar l'script que es mostra a continuació, heu d'instal·lar el fitxer Mòdul NumPy executant l'ordre des del terminal o instal·lant el fitxer Paquet NumPy a l'editor Python, on s'executarà l'script. El funció tofile () s'utilitza per crear un fitxer de text o binari i el fitxer funció fromfile () s’utilitza per crear una matriu llegint un fitxer de text o binari.

Sintaxi de tofile ():

ndarray.arxivar(dossier,set='',format='% s')

El primer argument és obligatori i pren el nom de fitxer o la cadena o el camí com a valor. El fitxer es crearà si es proporciona un nom de fitxer en aquest argument. El segon argument és opcional que s’utilitza per separar els elements de la matriu. El tercer argument també és opcional i s’utilitza per formatar la sortida del fitxer de text.

Sintaxi de fomfile ():

numpy.fromfile(dossier,dtype=flotar,comptar=-1,set='',compensar=0,*,M'agrada=Cap)

El primer argument és obligatori i pren el nom de fitxer o la cadena o el camí com a valor. El contingut del fitxer es llegirà si es proporciona un nom de fitxer en aquest argument. El dtype defineix el tipus de dades de la matriu retornada. El recompte s’utilitza per comptar el nombre d’elements. El propòsit del set és separar els elements de text o matriu. El desplaçament s’utilitza per definir la posició actual del fitxer. L'últim argument s'utilitza per crear un objecte de matriu que no un Matriu NumPy .

Creeu un fitxer python amb el següent script per crear un fitxer binari mitjançant Matriu NumPy i llegir i imprimir el contingut del fitxer binari.

# Importa el mòdul NumPy

importaciónumpycomper exemple

# Declareu la matriu numpy

nparray=per exemple.matriu([34, 89, 30, 45, 90, 11])

# Creeu un fitxer binari a partir de la matriu numpy

nparray.arxivar('list.bin')

# Imprimiu dades del fitxer binari

imprimir(per exemple.fromfile('list.bin',dtype=per exemple.int64))

Sortida:

La següent sortida apareixerà després d'executar l'script anterior.

Conclusió:

En aquest tutorial s’han mostrat tres maneres diferents de llegir el fitxer binari mitjançant exemples senzills. El primer exemple va retornar el contingut del fitxer binari com a matriu de bytes. El segon exemple va retornar el contingut del fitxer binari com a llista. L'últim exemple també va retornar el contingut del fitxer binari com a llista.