Comment lire des fichiers binaires en Python

How Read Binary Files Python



Le fichier qui contient les données binaires est appelé fichier binaire. Toutes les données binaires formatées ou non formatées sont stockées dans un fichier binaire, et ce fichier n'est pas lisible par l'homme et est utilisé directement par l'ordinateur. Lorsqu'un fichier binaire doit être lu ou transféré d'un emplacement à un autre, le contenu du fichier est converti ou encodé dans un format lisible par l'homme. L'extension du fichier binaire est .bin. Le contenu du fichier binaire peut être lu à l'aide d'une fonction ou d'un module intégré. Différentes manières de lire des fichiers binaires en Python ont été présentées dans ce tutoriel.

Prérequis:

Avant de vérifier les exemples de ce tutoriel, il est préférable de créer un ou plusieurs fichiers binaires à utiliser dans l'exemple de script. Le script de deux fichiers python a donné ci-dessous pour créer deux fichiers binaires. Le binary1.py créera un fichier binaire nommé chaîne.bin qui contiendra des données de chaîne, et le binary2.py créera un fichier binaire nommé liste_numéros.bin qui contiendra une liste de données numériques.







Binaire1.py

# Ouvrez un gestionnaire de fichiers pour créer un fichier binaire

gestionnaire_de_fichier= ouvert('chaîne.bin', 'wb')

# Ajouter deux lignes de texte dans le fichier binaire

gestionnaire_de_fichier.écrivez(b'Bienvenue sur LinuxHint. Apprenez la programmation Python.')

# Fermez le gestionnaire de fichiers

gestionnaire_de_fichier.proche()

Binaire2.py

# Ouvrez un gestionnaire de fichiers pour créer un fichier binaire

déposer=ouvert('liste_numéros.bin','wb')

# Déclarer une liste de valeurs numériques

Nombres=[dix,30,Quatre cinq,60,70,85,99]

# Convertir la liste en tableau

barray=tableau d'octets(Nombres)

# Écrire le tableau dans le fichier

déposer.écrivez(barray)

déposer.proche()

Exemple-1 : Lire le fichier binaire de données de chaîne dans le tableau d'octets

De nombreuses façons existent en Python pour lire le fichier binaire. Vous pouvez lire le nombre particulier d'octets ou le contenu complet du fichier binaire à la fois. Créez un fichier python avec le script suivant. Les fonction open() a utilisé pour ouvrir le chaîne.bin à lire. Les fonction read() a été utilisé pour lire 7 caractères du fichier à chaque itération de la boucle while et print. Ensuite, le fonction read() a été utilisé sans aucun argument pour lire le contenu complet du fichier binaire qui sera imprimé plus tard.



# Ouvrir le fichier binaire pour la lecture

gestionnaire_de_fichier= ouvert('chaîne.bin', 'rb')

# Lire les trois premiers octets du fichier binaire

octet_données=gestionnaire_de_fichier.lire(7)

imprimer('Imprimer trois caractères dans chaque itération :')

# Itérer la boucle pour lire la partie restante du fichier

tandis queoctet_données :

imprimer(octet_données)

octet_données=gestionnaire_de_fichier.lire(7)


# Lire le fichier entier sous la forme d'une chaîne d'un seul octet

avec ouvert('chaîne.bin', 'rb') commefh:

teneur=fh.lire()

imprimer('Imprimer le contenu complet du fichier binaire :')

imprimer(teneur)

Sortir:

La sortie suivante apparaîtra après l'exécution du script ci-dessus.







Exemple-2 : Lire le fichier binaire de données de chaîne dans le tableau

Créez un fichier python avec le script suivant pour lire un fichier binaire nommé liste_numéros.bin créé précédemment. Ce fichier binaire contient une liste de données numériques. Comme l'exemple précédent, le fonction open() a utilisé ouvrir le fichier binaire pour la lecture dans le script. Ensuite, les 5 premiers nombres seront lus à partir du fichier binaire et convertis en liste avant impression.

# Ouvrir le fichier binaire pour la lecture

déposer = ouvert('liste_numéros.bin', 'rb')

# Lire les cinq premiers nombres dans une liste

numéro= liste(déposer.lire(5))

# Imprimer la liste

imprimer(numéro)

# Fermez le fichier

déposer.proche()

Sortir:

La sortie suivante apparaîtra après l'exécution du script ci-dessus. Le fichier binaire contient 7 nombres, et les cinq premiers nombres ont été imprimés dans la sortie.



Exemple-3 : Lire un fichier binaire à l'aide de NumPy

Les façons de créer le fichier binaire en utilisant le Tableau NumPy et lire le contenu du fichier binaire en utilisant dans une liste en utilisant le Module NumPy ont montré dans cette partie du tutoriel. Avant de vérifier le script ci-dessous, vous devez installer le Module NumPy en exécutant la commande depuis le terminal ou en installant le Paquet NumPy dans l'éditeur Python, où le script sera exécuté. Les fonction tofile() est utilisé pour créer un fichier texte ou binaire, et le fonction fromfile() est utilisé pour créer un tableau en lisant un fichier texte ou binaire.

Syntaxe de tofile() :

ndarray.déposer(déposer,SEP='',format='%s')

Le premier argument est obligatoire et prend le nom de fichier, la chaîne ou le chemin comme valeur. Le fichier sera créé si un nom de fichier est fourni dans cet argument. Le deuxième argument est facultatif et est utilisé pour séparer les éléments du tableau. Le troisième argument est également facultatif et utilisé pour formater la sortie du fichier texte.

Syntaxe de fomfile() :

numpy.à partir du fichier(déposer,dtype=flotter,compter=-1,SEP='',décalage=0,*,Comme=Rien)

Le premier argument est obligatoire et prend le nom de fichier, la chaîne ou le chemin comme valeur. Le contenu du fichier sera lu si un nom de fichier est fourni dans cet argument. Les dtype définit le type de données du tableau renvoyé. Le comptage est utilisé pour compter le nombre d'éléments. Le but de la SEP consiste à séparer les éléments de texte ou de tableau. L'offset est utilisé pour définir la position courante du fichier. Le dernier argument est utilisé pour créer un objet tableau qui n'est pas un Tableau NumPy .

Créez un fichier python avec le script suivant pour créer un fichier binaire en utilisant Tableau NumPy et lire et imprimer le contenu du fichier binaire.

# Importer le module NumPy

importernumpycommepar exemple

# Déclarer le tableau numpy

nparray=par exemple.déployer([3. 4, 89, 30, Quatre cinq, 90, Onze])

# Créer un fichier binaire à partir du tableau numpy

nparray.déposer('list.bin')

# Imprimer les données du fichier binaire

imprimer(par exemple.à partir du fichier('list.bin',dtype=par exemple.int64))

Sortir:

La sortie suivante apparaîtra après l'exécution du script ci-dessus.

Conclusion:

Trois manières différentes de lire le fichier binaire ont été montrées dans ce tutoriel en utilisant des exemples simples. Le premier exemple a renvoyé le contenu du fichier binaire sous forme de tableau d'octets. Le deuxième exemple a renvoyé le contenu du fichier binaire sous forme de liste. Le dernier exemple a également renvoyé le contenu du fichier binaire sous forme de liste.