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
Libérer: 2024-12-26 21:05:10
original
344 Les gens l'ont consulté

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
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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()
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal