Aller au contenu

Ouvrir et fermer un fichier texte avec Python

Pour ouvrir un fichier, il faut utiliser open() et pour le fermer il faut utiliser close() !

Ouverture

La syntaxe est la suivante :

fichier = open(nom du fichier, paramètre d'ouverture)

Quelques exemples :

  • fic = open('mon_fichier.txt', 'r') pour ouvrir le fichier nommé en lecture seulement ('r' -> read) ;
  • mon_script = open('script.py', 'w') pour ouvrir le fichier en lecture et écriture ('w' -> write) en l'effaçant ou en le créant s'il n'existe pas encore ;
  • fic_html = open('index.html', 'a') pour ouvrir le fichier en lecture et en écriture en fin de fichier ('a' -> append, ajouter).

Attention

Attention au mode d'ouverture 'w', qui efface le contenu d'un fichier existant !

Remarques

  • bien sûr, fichier est un nom de variable quelconque, qui va recevoir des informations liées au fichier. Ainsi,

    fichier = open('test.txt', 'r')
    print(fichier)
    
    va renvoyer <_io.TextIOWrapper name='test.txt' mode='r' encoding='UTF-8'>.

  • nous pouvons donc ouvrir plusieurs fichiers, en utilisant plusieurs variables fic1, fic2, etc.

  • par défaut, les fichiers lus ou créés sont dans le même dossier que votre programme, à moins d'utiliser des chemins relatifs ou absolus (exemple : fic = open('../mon_fichier.txt', 'r') pour accèder à un fichier présent dans le dossier parent).

Fermeture

Il suffit d'écrire : fichier.close()fichier est la variable utilisée pour l'ouverture du fichier.

Notation POO

L'écriture utilisée ici est celle de la programmation orientée objet : objet.fonction().

Nous l'avons déjà rencontrée avec les listes, comme dans l'instruction maliste.append(...).

La fermeture du fichier va éviter que des opérations d'écriture ne soient pas faîtes. La non-fermeture peut aussi empêcher le "démontage" d'une clé USB quand un de ses fichiers est encore ouvert.