CodeGym /Cours /Python SELF FR /Travail avec les fichiers binaires

Travail avec les fichiers binaires

Python SELF FR
Niveau 21 , Leçon 4
Disponible

5.1 Données binaires

Travailler avec des fichiers binaires en Python est un peu différent de travailler avec des fichiers texte, car les fichiers binaires contiennent des données dans un format qui n'est pas destiné à être lu par un humain. Au lieu de chaînes, les fichiers binaires manipulent des octets.

Pour travailler avec des fichiers binaires, on utilise la fonction open() en spécifiant un mode contenant la lettre 'b' (par exemple, 'rb' pour lire, 'wb' pour écrire, etc.).

Exemples d'ouverture de fichiers binaires :

  • Lecture : 'rb'
  • Écriture : 'wb'
  • Ajout : 'ab'
  • Lecture et écriture : 'r+b', 'w+b', 'a+b'

Exemple :


file = open('example.bin', 'rb')
content = file.read()
print(content)
file.close()

La variable 'content' contiendra un tableau d'octets.

Les données binaires (octets) sont le niveau le plus bas, le plus fondamental de représentation des données. Toutes les données peuvent être lues comme binaires.

Cela signifie qu'un fichier texte peut toujours être lu comme un binaire, mais chaque fichier binaire ne peut pas être interprété comme un texte.

5.2 Lecture des fichiers binaires

Lecture de tout le contenu du fichier

La méthode read() lit tout le contenu du fichier en octets.

Exemple :


file = open('example.bin', 'rb')
content = file.read()
print(content)
file.close()

Lecture d'un certain nombre d'octets

La méthode read(n) lit n octets du fichier.

Exemple :


file = open('example.bin', 'rb')
content = file.read(10)  # Lit les 10 premiers octets
print(content)
file.close()

Lecture ligne par ligne

La méthode readline() lit une ligne du fichier. Dans le cas des fichiers binaires, la ligne se termine par un caractère de nouvelle ligne (\n).

Exemple :


file = open('example.bin', 'rb')
line = file.readline()
print(line)
file.close()

Lecture de toutes les lignes

La méthode readlines() lit toutes les lignes du fichier et les renvoie sous forme de liste d'octets.

Exemple :


file = open('example.bin', 'rb')
lines = file.readlines()
for line in lines:
    print(line)
file.close()

Les méthodes de manipulation des chaînes peuvent ne pas fonctionner correctement si vous lisez un fichier qui ne contient pas de texte : par exemple, une archive, une image ou une vidéo.

5.3 Écriture de données binaires

La méthode write() écrit des octets dans un fichier. Les données à écrire doivent être sous forme d'octets (bytes).

Lecture et écriture d'images

Lecture d'une image à partir d'un fichier et écriture dans un autre fichier.


# Lecture de l'image
with open('input_image.jpg', 'rb') as infile:
    image_data = infile.read()
        
# Écriture de l'image
with open('output_image.jpg', 'wb') as outfile:
    outfile.write(image_data)

Il est également possible d'écrire des données texte :

Exemple :


data = b"Hello, World!"
lines = [b"First line.\n", b"Second line.\n", b"Third line.\n"]
        
file = open('example.bin', 'wb')
file.write(data)
file.writelines(lines)
file.close()
1
Опрос
Travail avec les fichiers,  21 уровень,  4 лекция
недоступен
Travail avec les fichiers
Travail avec les fichiers
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION