Cum să citiți fișiere binare în Python

How Read Binary Files Python



Fișierul care conține datele binare se numește fișier binar. Orice date binare formatate sau neformatate sunt stocate într-un fișier binar, iar acest fișier nu poate fi citit de om și este utilizat direct de computer. Atunci când este necesar un fișier binar pentru a citi sau a transfera dintr-o locație în altă locație, conținutul fișierului este convertit sau codificat într-un format care poate fi citit de om. Extensia fișierului binar este .bin. Conținutul fișierului binar poate fi citit folosind o funcție sau un modul încorporat. Diferite moduri de a citi fișiere binare în Python au fost prezentate în acest tutorial.

Cerință prealabilă:

Înainte de a verifica exemplele acestui tutorial, este mai bine să creați unul sau mai multe fișiere binare pe care să le utilizați în scriptul de exemplu. Scriptul a două fișiere python a fost dat mai jos pentru a crea două fișiere binare. Binary1.py va crea un fișier binar numit string.bin care va conține date șir, iar binary2.py va crea un fișier binar numit number_list.bin care va conține o listă de date numerice.







Binary1.py

# Deschideți un handler de fișiere pentru a crea un fișier binar

manipulator_fișier= deschis(„string.bin”, „wb”)

# Adăugați două linii de text în fișierul binar

manipulator_fișier.scrie(b'Bine ați venit la LinuxHint. nAflați programarea Python. ')

# Închideți gestionarul de fișiere

manipulator_fișier.închide()

Binary2.py

# Deschideți un handler de fișiere pentru a crea un fișier binar

fişier=deschis('number_list.bin',„wb”)

# Declarați o listă de valori numerice

numere=[10,30,Patru cinci,60,70,85,99]

# Convertiți lista în matrice

barray=bytearray(numere)

# Scrieți matricea în fișier

fişier.scrie(barray)

fişier.închide()

Exemplu-1: Citiți fișierul binar de date șir în matricea de octeți

Există multe modalități în Python de a citi fișierul binar. Puteți citi numărul special de octeți sau conținutul complet al fișierului binar la un moment dat. Creați un fișier python cu următorul script. The funcția open () a folosit pentru a deschide string.bin pentru citit. The funcția read () a fost folosit pentru a citi 7 caractere din fișier în fiecare iterație a buclei while și a tipări. Apoi, funcția read () a fost folosit fără niciun argument pentru a citi conținutul complet al fișierului binar care va fi tipărit ulterior.



# Deschideți fișierul binar pentru citire

manipulator_fișier= deschis(„string.bin”, „rb”)

# Citiți primii trei octeți din fișierul binar

data_byte=manipulator_fișier.citit(7)

imprimare(„Imprimați trei caractere în fiecare iterație:”)

# Iterează bucla pentru a citi partea rămasă a fișierului

in timp cedata_byte:

imprimare(data_byte)

data_byte=manipulator_fișier.citit(7)


# Citiți întregul fișier ca un singur șir de octeți

cu deschis(„string.bin”, „rb”) la fel defh:

conţinut=fh.citit()

imprimare('Tipăriți conținutul complet al fișierului binar:')

imprimare(conţinut)

Ieșire:

Următoarea ieșire va apărea după executarea scriptului de mai sus.







Exemplu-2: Citiți fișierul binar de date șir în matrice

Creați un fișier python cu următorul script pentru a citi un fișier binar numit number_list.bin creat anterior. Acest fișier binar conține o listă de date numerice. La fel ca exemplul anterior, funcția open () a folosit deschiderea fișierului binar pentru citirea în script. Apoi, primele 5 numere vor fi citite din fișierul binar și convertite într-o listă înainte de tipărire.

# Deschideți fișierul binar pentru citire

fişier = deschis('number_list.bin', „rb”)

# Citiți primele cinci numere într-o listă

număr= listă(fişier.citit(5))

# Imprimați lista

imprimare(număr)

# Închideți fișierul

fişier.închide()

Ieșire:

Următoarea ieșire va apărea după executarea scriptului de mai sus. Fișierul binar conține 7 numere, iar primele cinci numere au fost tipărite în ieșire.



Exemplu-3: Citiți fișierul binar folosind NumPy

Modalități de a crea fișierul binar folosind Matrice NumPy și citiți conținutul fișierului binar folosind într-o listă folosind Modulul NumPy au arătat în această parte a tutorialului. Înainte de a verifica scriptul de mai jos, trebuie să instalați fișierul Modulul NumPy executând comanda de la terminal sau instalând fișierul Pachetul NumPy în editorul Python, unde scriptul va fi executat. The funcția tofile () este utilizat pentru a crea un fișier text sau binar, iar fișierul funcția fromfile () este folosit pentru a crea o matrice citind un fișier text sau binar.

Sintaxa tofilei ():

ndarray.la dosar(fişier,Sept='',format=„% s”)

Primul argument este obligatoriu și ia numele de fișier sau șirul sau calea ca valoare. Fișierul va fi creat dacă este furnizat un nume de fișier în acest argument. Al doilea argument este opțional, care este utilizat pentru a separa elementele matricei. Al treilea argument este, de asemenea, opțional și utilizat pentru formatarea ieșirii fișierului text.

Sintaxa fomfile ():

neclintit.din fisier(fişier,dtype=pluti,numara=-1,Sept='',decalaj=0,*,ca=Nici unul)

Primul argument este obligatoriu și ia numele de fișier sau șirul sau calea ca valoare. Conținutul fișierului va fi citit dacă va fi furnizat un nume de fișier în acest argument. The dtype definește tipul de date al matricei returnate. Numărul este folosit pentru a număra numărul de articole. Scopul Sept este de a separa textul sau elementele matricei. Decalajul este utilizat pentru a defini poziția curentă a fișierului. Ultimul argument este folosit pentru a crea un obiect matrice care nu un Matrice NumPy .

Creați un fișier python cu următorul script pentru a crea un fișier binar folosind Matrice NumPy și citiți și tipăriți conținutul fișierului binar.

# Importați modulul NumPy

importneclintitla fel dede exemplu

# Declarați matricea numpy

nparray=de exemplu.matrice([3. 4, 89, 30, Patru cinci, 90, unsprezece])

# Creați fișier binar din matrice numpy

nparray.la dosar('list.bin')

# Imprimați date din fișierul binar

imprimare(de exemplu.din fisier('list.bin',dtype=de exemplu.int64))

Ieșire:

Următoarea ieșire va apărea după executarea scriptului de mai sus.

Concluzie:

Trei moduri diferite de a citi fișierul binar au fost prezentate în acest tutorial folosind exemple simple. Primul exemplu a returnat conținutul fișierului binar ca o matrice de octeți. Al doilea exemplu a returnat conținutul fișierului binar ca listă. Ultimul exemplu a returnat conținutul fișierului binar ca listă.