Comment écrire ligne par ligne dans un fichier en utilisant Python
-
Méthode 1 : Utilisation de
write()
-
Méthode 2 : Utilisation de
writelines()
-
Méthode 3 : Utilisation de
with open
- Conclusion
- FAQ

Une des nombreuses tâches que vous pouvez accomplir avec Python est d’écrire ligne par ligne dans un fichier. Cet article vous guidera à travers les méthodes principales pour réaliser cette tâche, accompagné d’exemples de code Python clairs et bien commentés et d’explications détaillées.
Avant de plonger dans le comment, comprenons le quoi et le pourquoi. Écrire ligne par ligne dans un fichier en Python est une tâche qui peut sembler complexe, mais en réalité, c’est assez simple grâce aux fonctions intégrées de Python. Cette tâche est cruciale lorsque vous souhaitez stocker la sortie de votre programme Python pour une utilisation ou une analyse ultérieure, ou lorsque vous traitez de grands ensembles de données qui doivent être traités ligne par ligne pour économiser de la mémoire.
Méthode 1 : Utilisation de write()
La première et la plus simple méthode pour écrire ligne par ligne dans un fichier en Python est d’utiliser la fonction write()
. Cette fonction vous permet d’ajouter une seule ligne à votre fichier.
# First, open the file in write mode
file = open('example.txt', 'w')
# Then, write a line to the file
file.write('This is an example line.\n')
# Always remember to close the file when you're done
file.close()
Dans cet exemple, le \n
à la fin de la chaîne crée une nouvelle ligne, donc la prochaine fois que vous utilisez write()
, le nouveau texte sera écrit sur une nouvelle ligne. Il est crucial de se rappeler de fermer le fichier en utilisant file.close()
une fois que vous avez terminé d’écrire. Cela garantit que les modifications que vous avez apportées sont enregistrées et que les ressources sont libérées.
Méthode 2 : Utilisation de writelines()
Une autre méthode pour écrire ligne par ligne dans un fichier en Python est d’utiliser la fonction writelines()
. Cette fonction est particulièrement utile lorsque vous avez une liste de lignes à écrire dans un fichier.
# Open the file in write mode
file = open('example.txt', 'w')
# Create a list of lines to write to the file
lines = ['First line.\n', 'Second line.\n', 'Third line.\n']
# Write the lines to the file
file.writelines(lines)
# Close the file
file.close()
Dans cet exemple, chaque chaîne dans la liste lines
représente une ligne dans le fichier. La fonction writelines()
écrit chaque chaîne dans le fichier, ligne par ligne.
Méthode 3 : Utilisation de with open
L’instruction with open
en Python est un excellent moyen de simplifier le processus d’écriture ligne par ligne dans un fichier. Elle ferme automatiquement le fichier une fois que vous avez terminé avec, donc vous n’avez pas besoin de vous souvenir d’appeler file.close()
.
# Open the file in write mode
with open('example.txt', 'w') as file:
# Write a line to the file
file.write('This is an example line.\n')
Dans cet exemple, l’instruction with open
ouvre le fichier, et les lignes de code indentées qui suivent écrivent dans le fichier. Une fois que ces lignes de code sont exécutées, le fichier est automatiquement fermé.
Conclusion
Écrire ligne par ligne dans un fichier en Python est une tâche simple, rendue facile par les fonctions intégrées de Python. Que vous choisissiez d’utiliser write()
, writelines()
, ou l’instruction with open
, vous disposez des outils nécessaires pour stocker la sortie de votre programme ou traiter de grands ensembles de données ligne par ligne.
FAQ
-
Que signifie le ‘w’ dans la fonction
open()
?
Le ‘w’ signifie ‘écrire’. Il ouvre le fichier en mode écriture, ce qui vous permet d’ajouter du texte au fichier. -
Que se passe-t-il si j’oublie de fermer un fichier ?
Si un fichier n’est pas fermé, les modifications peuvent ne pas être enregistrées, et les ressources ne sont pas libérées. Cela peut entraîner des problèmes de mémoire, en particulier lors du traitement de grands fichiers. -
Puis-je écrire plusieurs lignes à la fois en utilisant la fonction
write()
?
Oui, vous pouvez écrire plusieurs lignes à la fois en incluant ‘\n’ pour créer de nouvelles lignes dans votre chaîne. Cependant, pour une liste de lignes, la fonctionwritelines()
est plus appropriée.