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

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

WBOY
WBOYavant
2023-09-03 08:57:201774parcourir

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)

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'

É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()

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer