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!'
Quiz

Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage

Quel est l'avantage principal d'utiliser l'instruction with lors de l'ouverture de fichiers ?
A. Le fichier est automatiquement fermé une fois terminé, même si une erreur se produit
B. Les fichiers s'ouvrent plus rapidement
C. Les fichiers peuvent être ouverts en mode lecture et écriture simultanément
D. Les fichiers sont automatiquement compressés

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.
Quiz

Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage

Quelle est la différence entre ouvrir un fichier avec le mode 'w' et le mode 'a' ?
A. 'w' est pour la lecture, 'a' est pour l'écriture
B. 'w' écrase le fichier, 'a' ajoute au fichier
C. 'w' est pour Windows, 'a' est pour Apple
D. Il n'y a pas de différence

Liens pertinents