Maison > développement back-end > Tutoriel Python > Comment lire (ou écrire) des données binaires en Python ?

Comment lire (ou écrire) des données binaires en Python ?

WBOY
Libérer: 2023-09-03 08:57:20
avant
1791 Les gens l'ont consulté

Pour lire ou écrire des fichiers binaires, vous devez d'abord comprendre les différents modes de fichier des fichiers binaires en Python -

Mode Description
rb Ouvrez un fichier au format binaire en lecture seule. Le pointeur de fichier se trouve au début du fichier. C'est le mode par défaut.
rb+ Ouvrez un fichier au format binaire pour la lecture et l'écriture. Le pointeur de fichier est placé au début du fichier.
wb Ouvrez les fichiers écrits au format binaire uniquement. Écrase le fichier s'il existe. Si le fichier n'existe pas, un nouveau fichier est créé en écriture.
wb+ Ouvrez un fichier au format binaire pour l'écriture et la lecture. Si le fichier existe, le fichier existant est écrasé. Si le fichier n'existe pas, un nouveau fichier est créé pour la lecture et l'écriture.
ab Ouvrez un fichier à ajouter au format binaire. Si le fichier existe, le pointeur de fichier se trouve à la fin du fichier. Autrement dit, le fichier est en mode ajout. Si le fichier n'existe pas, un nouveau fichier est créé en écriture.
ab+ Ouvrez les fichiers pour les ajouter et les lire au format binaire. Si le fichier existe, le pointeur de fichier se trouve à la fin du fichier. Le fichier est ouvert en mode ajout. Si le fichier n'existe pas, un nouveau fichier est créé pour la lecture et l'écriture.

Lire les fichiers binaires

Supposons que nous ayons un fichier binaire. Nous pouvons le lire en utilisant la méthode read(). Tout d’abord, nous allons ouvrir le fichier binaire en utilisant le mode rb de la méthode open(). Nous avons les fichiers sources suivants dans le lecteur D: -

Comment lire (ou écrire) des données binaires en Python ?

Exemple

Voyons le code complet

# Open a binary file
f = open('D:\PythonLogo.png', 'rb')

# Read lines
data = f.read()

# Display the data
print(data)
Copier après la connexion

Sortie

Le fichier binaire n'est pas lisible et le contenu n'est pas reconnu. La production réelle est supérieure. Ci-dessous, nous n’en montrons qu’une partie.

b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x04\xb0\x00\x00\x04\xb0\x08\x06\x00\x00\x00
\xeb!\xb3\xcf\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00
cHRM\x00\x00z&\x00\x00\x80\x84\x00\x00\xfa\x00\x00\x00\x80\xe8\x00\x00u0\x00\x00\xea`\x0
0\x00:\x98\x00\x00\x17p\x9c\xbaQ<\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x
93\x00\x00\x00\x07tIME\x07\xe1\x08\n\x07\x16\x07\xc9\xb2\xff\xd3\x00\x00\x80\x00IDATx\xda\
xec\x9dw\xbc]e\x95\xf7\x7f\xcf>\xe7\xa6\x91@\xe8\xc5\x02\xa2\x88\x14q0B\x12\xc0\x99\x00!\x
88(\x02\x9a\x8c\x85"\xea\x80b\xc5\x02\xa1\xf8z\xa78\x8aJ\x13EeF\x1d\xdb\x94\x80@\x08\xea\x
a0\x8c\xe0\x0c\x98\x10`\x94\x92\xd0D@,#\x88\xd4\x90r\xef\xd9\xeb\xfd#\x01\x02i\xe7\x9e\xb3
\xcb\xf3\xac\xfd\xfd~>\xef;
.
.
.
\xcdn\xd2d\xb1Q\xdf\xfa\xe9\x8d|\x8f\x14\x00\x00\x00\xb4\t\x02\x0b\x00\x00\x00\xe0Q\x98\xa
9\xd0\xd5\xc7\x1c$Izp\xee>\x9a\xd8\xfa\x98\x1d\xffdr\x7f\x153\x8f\xfa\xf8\xa3\xcdQJ\x07\xec\x
e5\xc8\xf5X\x95\x96\x1eu\n\xdb\xac\xa4-
{\xf9{\xdbe\xf6\xc0#\xfe\xa7\t\xdd\xaf\xed\x9a\xd9\xd1\xf5\xe4\x83\xdawf\xc7w>m\xdb\xbc5-
X\xff
\xb3\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd02\xff?\xca\x9f\x86X\x17m\x83=\
x00\x00\x00%tEXtdate:create\x002017-08-
10T07:22:07+00:00u\xea\xe6c\x00\x00\x00%tEXtdate:modify\x002017-08-
10T07:22:07+00:00\x04\xb7^\xdf\x00\x00\x00\x00IEND\xaeB`\x82'
Copier après la connexion

Écrire dans un fichier binaire

Le mode

wb de la méthode open() permet d'ouvrir le fichier au format écriture.

Attention - Le fichier binaire n'est pas lisible et le contenu n'est pas reconnu

Jetons un coup d’œil à l’exemple complet. Ici, le fichier sera stocké dans E drive avec le nom

Exemple

MyDemoBinary.bin -

# Open a file in binary format for writing
f = open("E:\MyDemoBinary.bin","wb")

# Elements to be added to the binary file
a = [100, 200, 300]

# Convert the integer elements to a bytearray
myArr = bytearray(a)

# The byte representation ius now written to the file
f.write(myArr)
f.close()
Copier après la connexion

Sortie

Après avoir exécuté le fichier, le fichier sera visible dans le chemin défini, c'est-à-dire le lecteur E -

Comment lire (ou écrire) des données binaires en Python ?

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:tutorialspoint.com
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