Files
training.python.beginner/source/08-text-files/fileuse/binaryfile.py
2025-07-04 19:26:39 +02:00

43 lines
1.2 KiB
Python

def write_file():
"""
Écrire un fichier binaire très simple.
En Python, on ne peut pas tout simplement écrire des chaînes dans un
fichier dit binaire. Dans Python 3, on fait la différence entre binaire et texte.
Quand on manipule des fichiers texte, on peut y écrire des données `str`.
Par contre, quand on manipule des fichiers binaires, on manipule des données plus
brutes, de type `bytes` (ou `bytearray`)
"""
f = open("demo.bin", "wb")
f.write(bytearray([32, 33, 34, 35, 36, 37, 38, 39, 40])) # (9)
f.write(b"Bonjour les amis") # (16) ça passe car les caractères sont ASCII et leur code tient dans un byte
f.write("Bonjour les héros, ça va bien ?".encode("utf-8")) # (33)
f.close()
def read_file():
"""
Lire dans un fichier binaire très simple.
"""
f = open("demo.bin", "rb")
tableau = f.read(9)
chaine1 = f.read(16)
chaine2 = f.read(33).decode("utf-8")
f.seek(0)
data = f.read()
f.close()
# Afficher les données lues dans le fichier
print(tableau)
print(chaine1)
print(chaine2)
# Pour tester, revenir au début du fichier et tout lire d'une traite
print(data)
if __name__ == "__main__":
write_file()
read_file()