Jak czytać pliki binarne w Python

Jak czytać pliki binarne w Python

Plik zawierający dane binarne nazywane jest plik binarnym. Wszelkie sformatowane lub niezoformowane dane binarne są przechowywane w pliku binarnym, a ten plik nie jest czytalny ludzki i jest używany bezpośrednio przez komputer. Gdy do odczytania lub przeniesienia z jednej lokalizacji do drugiego plik binarnego jest przekonwertowany lub kodowany w formacie, czyli format. Rozszerzenie pliku binarnego jest .kosz. Treść pliku binarnego można odczytać za pomocą wbudowanej funkcji lub modułu. W tym samouczku pokazano różne sposoby czytania plików binarnych w Pythonie.

Warunek wstępny:

Przed sprawdzeniem przykładów tego samouczka lepiej jest utworzyć jeden lub więcej plików binarnych do użycia w przykładowym skrypcie. Skrypt dwóch plików Pythona podano poniżej, aby utworzyć dwa pliki binarne. Binary1.PY utworzy plik binarny o nazwie strunowy.kosz które będą zawierać dane ciągów i binarne2.PY utworzy plik binarny o nazwie liczba_list.kosz które będą zawierać listę danych numerycznych.

Binary1.py

# Otwórz obsługę plików, aby utworzyć plik binarny
file_handler = Open (”ciąg.Bin ”,„ WB ”)
# Dodaj dwa wiersze tekstu w pliku binarnym
FILE_HANDLER.Write (B "Witamy w Linuxhint.\ nlearn Python Programowanie.")
# Zamknij obsługę plików
FILE_HANDLER.zamknąć()

Binary2.py

# Otwórz obsługę plików, aby utworzyć plik binarny
file = otwórz ("liczba_list.Bin ”,„ WB ”)
# Deklaruj listę wartości liczbowych
Liczby = [10,30,45,60,70,85,99]
# Konwertuj listę na tablicę
Barray = bajtearray (liczby)
# Zapisz tablicę w pliku
plik.Napisz (Barray)
plik.zamknąć()

Przykład-1: Przeczytaj plik binarny danych ciągów do tablicy bajt

W Pythonie istnieje wiele sposobów odczytania pliku binarnego. Możesz przeczytać konkretną liczbę bajtów lub pełną zawartość pliku binarnego jednocześnie. Utwórz plik Pythona z następującym skryptem. Open () Funkcja zwykł otwierać strunowy.kosz do czytania. czytaj () funkcja został użyty do odczytu 7 znaków z pliku w każdej iteracji While Loop i Drukuj. Następnie czytaj () funkcja został użyty bez żadnego argumentu do odczytania pełnej zawartości pliku binarnego, który zostanie wydrukowany później.

# Otwórz plik binarny do odczytu
file_handler = Open (”ciąg.bin ”,„ rb ”)
# Przeczytaj pierwsze trzy bajty z pliku binarnego
data_byte = file_handler.Przeczytaj (7)
Drukuj („Wydrukuj trzy znaki w każdej iteracji:”)
# Iteruj pętlę, aby odczytać pozostałą część pliku
podczas gdy data_byte:
print (data_byte)
data_byte = file_handler.Przeczytaj (7)
# Przeczytaj cały plik jako ciąg pojedynczy bajt
z otwartym („String.bin ', „rb”) jako fh:
content = fh.Czytać()
wydrukuj („Wydrukuj pełną zawartość pliku binarnego:”)
Drukuj (treść)

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu.

Przykład-2: Przeczytaj plik binarny danych ciągu do tablicy

Utwórz plik Pythona z następującym skryptem, aby odczytać plik binarny o nazwie liczba_list.kosz utworzony wcześniej. Ten plik binarny zawiera listę danych numerycznych. Podobnie jak poprzedni przykład, Open () Funkcja użył plik binarnego do odczytu w skrypcie. Następnie pierwsze 5 numerów zostanie odczytanych z pliku binarnego i przekonwertowane na listę przed wydrukowaniem.

# Otwórz plik binarny do odczytu
file = otwórz ("liczba_list.bin ”,„ rb ”)
# Przeczytaj pierwsze pięć numerów na liście
numer = lista (plik.odczyt (5))
# Wydrukuj listę
wydruku (numer)
# Zamknij plik
plik.zamknąć()

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Plik binarny zawiera 7 liczb, a pierwsze pięć liczb wydrukowało na wyjściu.

Przykład-3: Przeczytaj plik binarny za pomocą Numpy

Sposoby utworzenia pliku binarnego za pomocą Numpy Array i przeczytaj zawartość pliku binarnego za pomocą listy za pomocą Moduł Numpy pokazali w tej części samouczka. Przed sprawdzeniem skryptu podanego poniżej, musisz zainstalować Moduł Numpy Wykonując polecenie z terminalu lub instalując Pakiet Numpy w edytorze Pythona, gdzie scenariusz zostanie wykonany. Funkcja tofile () służy do tworzenia tekstu lub pliku binarnego i z funkcji File () służy do utworzenia tablicy poprzez odczyt tekst lub plik binarny.

Składnia tofile ():

ndarray.tofile (plik, sep = ", format = '%s')

Pierwszy argument jest obowiązkowy i bierze nazwę pliku, ciąg lub ścieżki jako wartość. Plik zostanie utworzony, jeśli nazwa pliku zostanie podana w tym argumencie. Drugi argument jest opcjonalny, który służy do oddzielenia elementów tablicy. Trzeci argument jest również opcjonalny i używany do formatowania wyjścia pliku tekstowego.

Składnia FOMFILE ():

Numpy.From File (File, Dtype = Float, Count =- 1, sep = ", offset = 0, *, jak = brak)

Pierwszy argument jest obowiązkowy i bierze nazwę pliku, ciąg lub ścieżki jako wartość. Treść pliku zostanie odczytana, jeśli nazwa pliku zostanie podana w tym argumencie. Dtype definiuje typ danych zwróconej tablicy. Liczba służy do zliczenia liczby elementów. Cel Sep ma oddzielić elementy tekstowe lub tablicy. Przesunięcie służy do zdefiniowania bieżącej pozycji pliku. Ostatni argument służy do utworzenia obiektu tablicy, że nie Numpy Array.

Utwórz plik Pythona z następującym skryptem, aby utworzyć plik binarny za pomocą Numpy Array i odczytaj i wydrukuj treść pliku binarnego.

# Importuj moduł Numpy
importować Numpy jako NP
# Deklaruj tablicę Numpy
nparray = np.tablica ([34, 89, 30, 45, 90, 11])
# Utwórz plik binarny z tablicy Numpy
nparray.litera tofile („.kosz")
# Drukuj dane z pliku binarnego
Drukuj (NP.From File („Lista.bin ", dtype = np.int64))

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu.

Wniosek:

W tym samouczku pokazano trzy różne sposoby odczytania pliku binarnego za pomocą prostych przykładów. Pierwszy przykład zwrócił treść pliku binarnego jako tablicę bajtów. Drugi przykład zwrócił zawartość pliku binarnego jako listy. Ostatni przykład zwrócił również zawartość pliku binarnego jako lista.