Aller au contenu

Les fichiers

Ouverture

Lorsqu'on ouvre un fichier en mode texte (mode par défaut), penser à spécifier l'encodage et le comportement en cas d'erreurs pour éviter les problèmes :

mon_fichier = open("fichier.txt", mode="r", encoding="utf_8", errors="strict")

En mode binaire, ne pas spécifier l'encodage :

mon_fichier_binaire = open("fichier.dat", mode="rb")

Signification de l'argument mode :

mode signification
"r" ouverture en lecture seule (défaut, synonyme de "rt")
"w" ouverture en écriture ; écrase le fichier existant
"x" ouverture en écriture ; échoue si le fichier existe déjà
"a" ouverture en écriture ; ajoute à la fin du fichier s'il existe
"b" mode binaire
"t" mode texte (défaut)
"+" ouverture pour mise à jour (lecture et écriture)

Les combinaisons pour l'argument mode les plus courants :

mode signification
"r" ouverture en mode texte, en lecture seule
"w" ouverture en mode texte, en écriture seule
"r+" ouverture en mode texte, en lecture et écriture, en ajoutant à la fin du fichier
"w+" ouverture en mode texte, en lecture et écriture, en écrasant le fichier existant
"rb" ouverture en mode binaire, en lecture seule
"wb" ouverture en mode binaire, en écriture seule

Fermeture

Attention

Penser à fermer le fichier après utilisation !

mon_fichier.close()

with open()

En utilisant le mot-clé with pour ouvrir un fichier, si une exception se produit, le fichier sera tout de même fermé à la fin du bloc :

with open("fichier.txt", mode="r", encoding="utf_8", errors="strict") as mon_fichier:
    # Opérations sur le fichier.

Lire l'ensemble du fichier :

with open("fichier.txt", mode="r", encoding="utf_8", errors="strict") as mon_fichier:
    contenu = mon_fichier.read()

Lire le fichier ligne par ligne :

with open("fichier.txt", mode="r", encoding="utf_8", errors="strict") as mon_fichier:
    for ligne in mon_fichier:
        # Opérations sur la ligne.

Écrire dans le fichier :

with open("fichier.txt", mode="w", encoding="utf_8") as mon_fichier:
    mon_fichier.write("une ligne")

Ressources