Cara Membaca File Biner dengan Python

How Read Binary Files Python



File yang berisi data biner disebut file biner. Setiap data biner yang diformat atau tidak diformat disimpan dalam file biner, dan file ini tidak dapat dibaca manusia dan digunakan oleh komputer secara langsung. Ketika file biner diperlukan untuk membaca atau mentransfer dari satu lokasi ke lokasi lain, konten file diubah atau dikodekan ke dalam format yang dapat dibaca manusia. Ekstensi file biner adalah .bin. Konten file biner dapat dibaca dengan menggunakan fungsi atau modul bawaan. Berbagai cara untuk membaca file biner dengan Python telah ditunjukkan dalam tutorial ini.

Prasyarat:

Sebelum memeriksa contoh tutorial ini, lebih baik membuat satu atau lebih file biner untuk digunakan dalam skrip contoh. Skrip dua file python telah diberikan di bawah ini untuk membuat dua file biner. binary1.py akan membuat file biner bernama string.bin yang akan berisi data string, dan binary2.py akan membuat file biner bernama number_list.bin yang akan berisi daftar data numerik.







Biner1.py

# Buka penangan file untuk membuat file biner

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

# Tambahkan dua baris teks dalam file biner

file_handler.menulis(B'Selamat datang di LinuxHint. Pelajari Pemrograman Python.')

# Tutup penangan file

file_handler.Menutup()

Biner2.py

# Buka penangan file untuk membuat file biner

mengajukan=membuka('daftar_nomor.bin','wb')

# Deklarasikan daftar nilai numerik

angka=[10,30,Empat. Lima,60,70,85,99]

# Ubah daftar menjadi larik

barray=bytearray(angka)

# Tulis array ke dalam file

mengajukan.menulis(barray)

mengajukan.Menutup()

Contoh-1: Baca file biner data string ke dalam array byte

Banyak cara yang ada di Python untuk membaca file biner. Anda dapat membaca jumlah byte tertentu atau konten lengkap file biner sekaligus. Buat file python dengan skrip berikut. NS buka() fungsi telah digunakan untuk membuka string.bin untuk dibaca. NS baca() fungsi telah digunakan untuk membaca 7 karakter dari file di setiap iterasi while loop dan print. Selanjutnya, baca() fungsi telah digunakan tanpa argumen untuk membaca isi lengkap dari file biner yang akan dicetak nanti.



# Buka file biner untuk membaca

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

# Baca tiga byte pertama dari file biner

data_byte=file_handler.Baca(7)

mencetak('Cetak tiga karakter di setiap iterasi:')

# Ulangi loop untuk membaca bagian file yang tersisa

ketikadata_byte:

mencetak(data_byte)

data_byte=file_handler.Baca(7)


# Baca seluruh file sebagai string byte tunggal

dengan membuka('string.bin', 'rb') sebagaifh:

isi=fh.Baca()

mencetak('Cetak konten lengkap file biner:')

mencetak(isi)

Keluaran:

Output berikut akan muncul setelah menjalankan skrip di atas.







Contoh-2: Baca file biner data string ke dalam array

Buat file python dengan skrip berikut untuk membaca file biner bernama number_list.bin dibuat sebelumnya. File biner ini berisi daftar data numerik. Seperti contoh sebelumnya, buka() fungsi telah menggunakan buka file biner untuk membaca skrip. Selanjutnya, 5 angka pertama akan dibaca dari file biner dan diubah menjadi daftar sebelum dicetak.

# Buka file biner untuk membaca

mengajukan = membuka('daftar_nomor.bin', 'rb')

# Baca lima angka pertama ke dalam daftar

nomor= Daftar(mengajukan.Baca(5))

# Cetak daftarnya

mencetak(nomor)

#Tutup file

mengajukan.Menutup()

Keluaran:

Output berikut akan muncul setelah menjalankan skrip di atas. File biner berisi 7 angka, dan lima angka pertama telah dicetak dalam output.



Contoh-3: Baca file biner menggunakan NumPy

Cara membuat file biner menggunakan Array NumPy dan baca konten file biner menggunakan ke dalam daftar dengan menggunakan Modul NumPy telah ditunjukkan di bagian tutorial ini. Sebelum memeriksa skrip yang diberikan di bawah ini, Anda harus menginstal Modul NumPy dengan menjalankan perintah dari terminal atau menginstal Paket NumPy di editor Python, tempat skrip akan dieksekusi. NS tofile() fungsi digunakan untuk membuat file teks atau biner, dan darifile() fungsi digunakan untuk membuat array dengan membaca teks atau file biner.

Sintaks tofile():

ndarray.tofile(mengajukan,Sep='',format='%S')

Argumen pertama adalah wajib dan mengambil nama file atau string atau jalur sebagai nilai. File akan dibuat jika nama file disediakan dalam argumen ini. Argumen kedua adalah opsional yang digunakan untuk memisahkan elemen array. Argumen ketiga adalah opsional juga dan digunakan untuk memformat output dari file teks.

Sintaks dari fomfile():

mati rasa.dari file(mengajukan,tipe d=mengambang,menghitung=-1,Sep='',mengimbangi=0,*,Suka=Tidak ada)

Argumen pertama adalah wajib dan mengambil nama file atau string atau jalur sebagai nilai. Isi file akan dibaca jika nama file akan diberikan dalam argumen ini. NS tipe d mendefinisikan tipe data dari array yang dikembalikan. Hitungan digunakan untuk menghitung jumlah barang. Tujuan dari Sep adalah untuk memisahkan teks atau item array. Offset digunakan untuk menentukan posisi file saat ini. Argumen terakhir digunakan untuk membuat objek array yang bukan a Array NumPy .

Buat file python dengan skrip berikut untuk membuat file biner menggunakan Array NumPy dan membaca dan mencetak konten file biner.

# Impor modul NumPy

impormati rasasebagaimisalnya

# Deklarasikan array numpy

nparray=misalnyaHimpunan([3. 4, 89, 30, Empat. Lima, 90, sebelas])

# Buat file biner dari array numpy

nparray.tofile('daftar.bin')

# Cetak data dari file biner

mencetak(misalnyadari file('daftar.bin',tipe d=misalnyaint64))

Keluaran:

Output berikut akan muncul setelah menjalankan skrip di atas.

Kesimpulan:

Tiga cara berbeda untuk membaca file biner telah ditunjukkan dalam tutorial ini dengan menggunakan contoh sederhana. Contoh pertama mengembalikan konten file biner sebagai array byte. Contoh kedua mengembalikan konten file biner sebagai daftar. Contoh terakhir juga mengembalikan konten file biner sebagai daftar.