Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Membaca Fail Binari Byte dengan Byte dengan Cekap dalam Python?

Bagaimanakah Saya Boleh Membaca Fail Binari Byte dengan Byte dengan Cekap dalam Python?

DDD
DDDasal
2024-12-26 21:05:10349semak imbas

How Can I Efficiently Read Binary Files Byte by Byte in Python?

Membaca Fail Perduaan Bait demi Bait dengan Mudah dalam Python

Apabila mengendalikan fail binari dalam Python, mengakses setiap bait selalunya penting. Artikel ini menyediakan panduan komprehensif untuk membantu anda menyelesaikan tugas ini dengan cekap.

Versi Python >= 3.8

Pengenalan pengendali walrus (:=) telah dipermudahkan proses ini. Hanya buka fail dalam mod binari ("rb") dan baca objek bait satu demi satu, berikannya kepada bait pembolehubah.

with open("myfile", "rb") as f:
    while (byte := f.read(1)):
        # Perform operations on the byte

Versi Python >= 3 Tetapi < 3.8

Dalam versi ini, anda boleh menggunakan pendekatan yang lebih panjang sedikit:

with open("myfile", "rb") as f:
    byte = f.read(1)
    while byte != b"":
        # Perform operations on the byte
        byte = f.read(1)

Sebagai alternatif, anda boleh mengambil kesempatan daripada fakta bahawa b"" menilai kepalsuan:

with open("myfile", "rb") as f:
    byte = f.read(1)
    while byte:
        # Perform operations on the byte
        byte = f.read(1)

Versi Python >= 2.5

Python 2 membaca fail binari secara berbeza:

with open("myfile", "rb") as f:
    byte = f.read(1)
    while byte != "":
        # Perform operations on the byte
        byte = f.read(1)

Python Versi 2.4 dan Terdahulu

Untuk versi yang lebih lama, anda akan perlu mencuba/akhirnya sekat:

f = open("myfile", "rb")
try:
    byte = f.read(1)
    while byte != "":
        # Perform operations on the byte
        byte = f.read(1)
finally:
    f.close()

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membaca Fail Binari Byte dengan Byte dengan Cekap dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn