Python et le travail avec des fichiers
Python offre des fonctions simples pour manipuler des fichiers. Les fichiers s’ouvrent avec open(), on les utilise, puis on les ferme avec close(). Selon le mode d’ouverture, on peut lire, ecrire ou ajouter du contenu.
Comment executer le script
Enregistrez le code dans un fichier .py (par exemple archivos.py) puis lancez-le depuis le terminal:
python fichiers.py
Fichiers texte
Pour ecrire (en remplacant le contenu precedent):
f = open("demofile.txt", "w")
f.write("J'ai supprimé le contenu précédent !")
f.close()
Pour ajouter a la fin du fichier:
f = open("demofile.txt", "a")
f.write("nMaintenant le fichier contient plus de contenu.")
f.close()
Pour lire tout le contenu:
f = open("demofile.txt", "r")
print(f.read())
f.close()
Modes d’ouverture
w = ecrire (efface le contenu precedent). a = ajouter. r = lire. En binaire, on ajoute b: wb, rb, rb+.
Fichiers binaires
Pour ecrire et lire des octets:
octets_donnees = b"supprime le contenu"
f = open("demofile.dat", "wb")
f.write(octets_donnees)
f.close()
f = open("demofile.dat", "rb")
octets_donnees = f.read()
f.close()
print(octets_donnees)
Naviguer dans le fichier avec seek
La methode seek(n) deplace le curseur a la position n. Elle est utile pour lire ou modifier des octets precis, par exemple dans une image BMP (en-tete de 54 octets + palette de 1024 octets).
f = open("mario.bmp", "rb+")
f.seek(1080) # Premier octet des donnees pixel
byte_leido = f.read(1)
f.close()
