Le langage Python permet de
créer, d'ouvrir et de manipuler des fichiers, en
particulier les fichiers textes de format :
.txt
; .html
; .py
; etc...
On présente les instructions usuelles dans cette page.
Ces instructions pourront être testées à étapes régulières
dans un environnement de travail en Python
(comme Pyzo).
L'instruction ci-dessous crée le fichier nommé Mon_fichier.py
dans le répertoire courant (usuellement celui dans lequel est enregistré
le programme Python qui manipule le
fichier) et stocke ce fichier dans la variable nommée f
.
f = open('Mon_fichier.py', 'w')
Attention !
Si un fichier de même nom et de même format existe déjà dans
le répertoire, il est automatiquement effacé et
remplacé.
On crée (accède à) un fichier dans un autre répertoire
que le courant, en utilisant un adressage relatif depuis le
répertoire courant ("/"
pour descendre,
"../"
pour remonter d'un dossier).
La méthode .write()
permet d'écrire, à la file,
du texte (str
) dans le fichier stocké
par la variable f
et ouvert en mode écriture
('w'
ou 'a'
– voir plus loin).
f.write('pre = input("Quel est votre prenom ? ") \n')
f.write('print("Bonjour", pre) \n')
Rappel
Le caractère qui symbolise un passage à la ligne est
'\n'
.
La fonction open()
de paramètre 'r'
(read) ouvre le fichier, en lecture seule...
Il existe plusieurs méthodes pour récupérer les informations
contenues dans un fichier.
Tout lire d'un coup
On peut lire toutes les lignes d'un coup grâce à la méthode
.readlines()
(avec un « s
»
à la fin). Ces lignes sont des chaînes de caractères
et elles sont stockées dans une liste (gourmand en mémoire).
Testez cette méthode dans un nouveau programme grâce aux lignes suivantes :
f = open('Mon_fichier.py', 'r')
liste_lignes = f.readlines()
print(liste_lignes)
f.close()
Lire une ligne
On peut lire une ligne grâce à la méthode .readline()
(sans un « s
» à la fin).
Après la lecture d'une ligne (qui se termine par
'\n'
...), un « pointeur » va
au début de la ligne suivante.
Testez cette méthode dans un nouveau programme grâce aux lignes suivantes :
f = open('Mon_fichier.py', 'r')
print(f.readline())
print(f.readline())
f.close()
Lire toutes les lignes, une par une
Méthode « magique » de Python,
l'opérateur d'inclusion in
s'applique aussi à un
fichier ouvert en lecture seule.
Testez cette méthode grâce aux lignes suivantes :
f = open('Mon_fichier.py', 'r')
for ligne in f:
print(ligne.rstrip('\n')) # .rstrip() enlève le caractère indiqué
f.close()