Lecture et Écriture de Fichiers
Pour un examen plus approfondi de la manipulation des chemins de fichiers et de répertoires, consultez la page Chemins de Fichiers et de Répertoires.
Le processus de lecture/écriture de fichiers
Pour lire/écrire dans un fichier en Python, vous voudrez utiliser l’instruction with, qui fermera le fichier pour vous une fois terminé, gérant les ressources disponibles pour vous.
Ouverture et lecture de fichiers
La fonction open ouvre un fichier et retourne un objet fichier correspondant.
# Lire le fichier en utilisant l'instruction 'with': ferme automatiquement le fichier une fois terminé
with open('/home/labex/project/hi.txt') as hello_file:
hello_content = hello_file.read() # Lire tout le contenu du fichier
hello_content
'Hello World!'
Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage
with lors de l'ouverture de fichiers ?Alternativement, vous pouvez utiliser la méthode readlines() pour obtenir une liste de valeurs de chaînes de caractères à partir du fichier, une chaîne pour chaque ligne de texte :
# readlines() méthode: retourne une liste de chaînes, une par ligne
with open('sonnet29.txt') as sonnet_file:
sonnet_file.readlines() # Retourne une liste avec chaque ligne comme une chaîne
['When, in disgrace with fortune and men's eyes,\n',
' I all alone beweep my outcast state,\n',
"And trouble deaf heaven with my bootless cries,\n",
"And look upon myself and curse my fate,']
Vous pouvez également itérer sur le fichier ligne par ligne :
# Itérer sur le fichier ligne par ligne (efficace en mémoire pour les grands fichiers)
with open('sonnet29.txt') as sonnet_file:
for line in sonnet_file: # L'objet fichier est itérable
print(line, end='') # Imprimer sans saut de ligne supplémentaire
When, in disgrace with fortune and men's eyes,
I all alone beweep my outcast state,
And trouble deaf heaven with my bootless cries,
And look upon myself and curse my fate,
Écriture dans des fichiers
# Écrire dans un fichier: le mode 'w' écrase le fichier existant
with open('bacon.txt', 'w') as bacon_file: # 'w' = mode écriture
bacon_file.write('Hello world!\n') # Retourne le nombre de caractères écrits
13
# Ajouter à un fichier: le mode 'a' ajoute au fichier existant
with open('bacon.txt', 'a') as bacon_file: # 'a' = mode ajout
bacon_file.write('Bacon is not a vegetable.')
25
with open('bacon.txt') as bacon_file:
content = bacon_file.read()
print(content)
Hello world!
Bacon is not a vegetable.
Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage
'w' et le mode 'a' ?'w' est pour la lecture, 'a' est pour l'écriture'w' écrase le fichier, 'a' ajoute au fichier'w' est pour Windows, 'a' est pour Apple