Comment lire et écrire des fichiers en Python
Lire et écrire dans des fichiers est une tâche courante en programmation, et Python facilite cette tâche grâce à ses capacités intégrées de gestion de fichiers. Comprendre comment travailler avec des fichiers est essentiel pour tout programmeur Python, car cela vous permet de gérer le stockage des données, la journalisation, la gestion de la configuration, etc. Ce guide explique comment ouvrir, lire, écrire et fermer des fichiers en Python, ainsi que comment gérer les différents modes de fichiers.
Ouverture et fermeture des dossiers
En Python, vous utilisez la fonction open()
pour ouvrir un fichier. La fonction open()
renvoie un objet fichier, qui fournit des méthodes de lecture et d'écriture. Il est important de fermer un fichier une fois que vous avez terminé de l'utiliser en utilisant la méthode close()
pour libérer les ressources système.
# Opening and closing a file
file = open("example.txt", "r") # Open file for reading
# Perform file operations
file.close() # Close the file
Lecture de fichiers
Il existe plusieurs façons de lire le contenu d'un fichier en Python, selon vos besoins:
Lire le dossier complet
La méthode read()
lit l'intégralité du contenu du fichier dans une seule chaîne.
# Reading the entire file
with open("example.txt", "r") as file:
content = file.read()
print(content)
Lire les lignes d'un fichier
La méthode readline()
lit une ligne du fichier, tandis que readlines()
lit toutes les lignes et les renvoie sous forme de liste.
# Reading lines using readline()
with open("example.txt", "r") as file:
line = file.readline()
while line:
print(line.strip())
line = file.readline()
# Reading all lines using readlines()
with open("example.txt", "r") as file:
lines = file.readlines()
for line in lines:
print(line.strip())
Lecture des fichiers ligne par ligne
La méthode préférée pour lire un fichier ligne par ligne consiste à utiliser une boucle for
directement sur l'objet fichier. Cette approche est efficace en termes de mémoire, en particulier pour les fichiers volumineux.
# Reading file line by line using a for loop
with open("example.txt", "r") as file:
for line in file:
print(line.strip())
Écriture dans des fichiers
Python vous permet d'écrire dans des fichiers à l'aide des méthodes write()
et writelines()
. Vous devez ouvrir le fichier dans un mode qui prend en charge l'écriture, comme 'w'
(écriture) ou 'a'
(ajout).
Écriture dans un fichier
La méthode write()
écrit une chaîne unique dans un fichier. L'ouverture d'un fichier en mode écriture 'w'
créera un nouveau fichier ou écrasera un fichier existant.
# Writing to a file
with open("output.txt", "w") as file:
file.write("Hello, World!\n")
file.write("This is a new line.")
Ajout à un fichier
L'ouverture d'un fichier en mode ajout 'a'
vous permet d'ajouter du contenu à la fin d'un fichier existant sans écraser son contenu.
# Appending to a file
with open("output.txt", "a") as file:
file.write("\nThis line is appended.")
Écrire plusieurs lignes
La méthode writelines()
permet d'écrire plusieurs lignes dans un fichier. Elle attend une liste de chaînes, chacune représentant une ligne.
# Writing multiple lines to a file
lines = ["Line 1\n", "Line 2\n", "Line 3\n"]
with open("output.txt", "w") as file:
file.writelines(lines)
Modes de fichiers
La fonction open()
de Python prend en charge plusieurs modes d'ouverture de fichiers:
'r'
- Mode lecture (par défaut). Ouvre un fichier en lecture.'w'
- Mode écriture. Ouvre un fichier en écriture (crée un nouveau fichier ou tronque un fichier existant).'a'
- Mode ajout. Ouvre un fichier pour l'ajouter (crée un nouveau fichier s'il n'existe pas).'r+'
- Mode lecture et écriture. Ouvre un fichier pour la lecture et l'écriture.'b'
- Mode binaire. Ouvre un fichier en mode binaire (utilisé avec'rb'
,'wb'
, etc.).
Conclusion
La lecture et l'écriture dans des fichiers en Python sont simples une fois que vous avez compris les concepts de base et les modes de fichiers. En maîtrisant la gestion des fichiers, vous pouvez gérer efficacement les données, gérer les entrées/sorties des utilisateurs et automatiser les tâches impliquant des opérations sur les fichiers. Entraînez-vous à utiliser ces techniques pour devenir compétent en gestion de fichiers en Python.