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,va renvoyerfichier = open('test.txt', 'r') print(fichier)
<_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()
où 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.