Maison >développement back-end >Tutoriel Python >Comment puis-je lire efficacement des fichiers binaires octet par octet en Python ?

Comment puis-je lire efficacement des fichiers binaires octet par octet en Python ?

DDD
DDDoriginal
2024-12-26 21:05:10435parcourir

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

Lecture facile des fichiers binaires octet par octet en Python

Lors de la manipulation de fichiers binaires en Python, l'accès à chaque octet est souvent crucial. Cet article fournit un guide complet pour vous aider à accomplir cette tâche efficacement.

Versions Python >= 3.8

L'introduction de l'opérateur morse (:=) a simplifié ce processus. Ouvrez simplement le fichier en mode binaire ("rb") et lisez les objets octets un par un, en les attribuant à la variable byte.

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

Versions Python >= 3 Mais < 3.8

Dans ces versions, vous pouvez utiliser une approche légèrement plus longue :

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

Alternativement, vous pouvez profiter du fait que b"" est évalué comme faux :

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

Version Python >= 2.5

Python 2 lit les fichiers binaires différemment :

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

Python versions 2.4 et antérieures

Pour les anciennes versions, vous besoin d'un bloc try/finally :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn