Ecrire des octets dans un fichier en Python

Manav Narula 30 janvier 2023
  1. Écrire des octets dans un fichier en Python
  2. Écrire un tableau d’octets dans un fichier en Python
  3. Écrire des objets BytesIO dans un fichier binaire
Ecrire des octets dans un fichier en Python

Dans ce tutoriel, nous allons présenter comment écrire des octets dans un fichier binaire en Python.

Les fichiers binaires contiennent des chaînes de caractères de type octets. Lorsque nous lisons un fichier binaire, un objet de type octets est renvoyé. En Python, les octets sont représentés par des chiffres hexadécimaux. Ils sont préfixés par le caractère b, qui indique qu’il s’agit d’octets.

Écrire des octets dans un fichier en Python

Pour écrire des octets dans un fichier, nous allons d’abord créer un objet fichier en utilisant la fonction open() et fournir le chemin du fichier. Le fichier doit être ouvert en mode wb, qui spécifie le mode d’écriture dans les fichiers binaires. Le code suivant montre comment nous pouvons écrire des octets dans un fichier.

data = b"\xC3\xA9"

with open("test.bin", "wb") as f:
    f.write(data)

Nous pouvons également utiliser le mode append - a lorsque nous avons besoin d’ajouter des données à la fin du fichier existant. Par exemple :

data = b"\xC3\xA9"

with open("test.bin", "ab") as f:
    f.write(data)

Pour écrire des octets à une position spécifique, nous pouvons utiliser la fonction seek() qui spécifie la position du pointeur de fichier pour lire et écrire des données. Par exemple :

data = b"\xC3\xA9"

with open("test.bin", "wb") as f:
    f.seek(2)
    f.write(data)

Écrire un tableau d’octets dans un fichier en Python

Nous pouvons créer un tableau d’octets en utilisant la fonction bytearray(). Elle renvoie un objet bytearray mutable. Nous pouvons également le convertir en octets pour le rendre immuable. Dans l’exemple suivant, nous écrivons un tableau d’octets dans un fichier.

arr = bytearray([1, 2, 5])
b_arr = bytes(arr)

with open("test.bin", "wb") as f:
    f.write(b_arr)

Écrire des objets BytesIO dans un fichier binaire

Le module io nous permet d’étendre les fonctions d’entrée-sortie et les classes liées au traitement des fichiers. Il est utilisé pour stocker des octets et des données dans des parties de la mémoire tampon et nous permet également de travailler avec les données Unicode. La méthode getbuffer() de la classe BytesIO est utilisée ici pour récupérer une vue en lecture-écriture de l’objet. Voir le code suivant.

from io import BytesIO

bytesio_o = BytesIO(b"\xC3\xA9")

with open("test.bin", "wb") as f:
    f.write(bytesio_o.getbuffer())
Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Article connexe - Python File