Comment écrire ou imprimer dans un fichier en Python

Besoin d'imprimer dans un fichier en Python? Aujourd'hui, nous allons découvrir à quel point il est facile de commencer à écrire dans des fichiers. Nous couvrirons la création de nouveaux fichiers, l'ajout de fichiers existants et l'écrasement des fichiers existants.

Ouvrez un fichier pour l'écriture en Python

Vous savez probablement déjà comment imprimer à l'écran en Python , mais vous ne savez peut-être pas comment imprimer dans un fichier. Heureusement, comme beaucoup de programmation Python pour débutants, la syntaxe de l'écriture de fichiers est simple, lisible et facile à comprendre.

Connexes: Comment créer, importer et réutiliser votre propre module en Python

Dans cet esprit, commençons.

Créer et écrire dans un nouveau fichier en Python

Pour créer un nouveau fichier en Python et l'ouvrir pour le modifier, utilisez la fonction open () intégrée et spécifiez le nom du fichier suivi du paramètre x .

 f = open("testfile.txt", "x")

Lorsque vous utilisez le paramètre "x", vous obtiendrez une erreur si le nom de fichier que vous avez spécifié existe déjà.

S'il réussit, vous pouvez maintenant écrire dans le fichier en utilisant la méthode write () .

 f.write("Hello, world!")

Chaque ligne de texte que vous "write ()" se terminera par un caractère de fin de ligne, donc chaque chaîne supplémentaire sera écrite dans une nouvelle ligne.

Il est recommandé de toujours fermer tous les fichiers que vous ouvrez en utilisant la méthode close () . Sinon, votre fichier risque de ne pas être enregistré sur le disque.

 f.close()

Vous pouvez également créer et écrire dans un fichier en Python avec moins de lignes à l'aide du mot-clé with .

 with open("testfile.txt", "x") as f:
f.write("Hello, world!")

Cette approche est recommandée car la suite «with» fermera automatiquement votre fichier une fois terminé, vous n'aurez donc jamais à vous rappeler de le fermer vous-même.

Après avoir écrit votre fichier, vous pouvez le lire en l'ouvrant avec le paramètre r et en appelant la méthode read () .

 with open("testfile.txt", "r") as f:
print(f.read())

Écrire dans un fichier existant en Python

Si le fichier que vous voulez écrire existe déjà, et que vous voulez ajouter des lignes supplémentaires, vous devrez ouvrir à l'aide du paramètre pour « append. »

 with open("testfile.txt", "a") as f:
f.write("I'm an additional line.")

Tout ce que vous écrivez après l'ouverture avec le paramètre "a" sera ajouté avec une nouvelle ligne.

Ce code suppose également que votre fichier se trouve dans le même répertoire dans lequel fonctionne votre script Python. S'il se trouve dans un répertoire différent, vous devrez spécifier son chemin.

En savoir plus: Comment obtenir le répertoire actuel en Python

Écraser un fichier existant en Python

Si votre fichier existe déjà, mais que vous souhaitez qu'il soit écrasé au lieu d'être ajouté, vous pouvez le faire en ouvrant le fichier avec le paramètre w .

 with open("testfile.txt", "w") as f:
f.write("Hello, world!")

Peu importe ce qui a été écrit dans testfile.txt, la sortie sera "Hello, world!" quand vous le lisez.

Dépannage de l'écriture de fichiers en Python

Si le texte que vous imprimez dans un fichier est brouillé ou mal lu, assurez-vous de toujours ouvrir le fichier avec le bon codage.

 with open("testfile.txt", "w", encoding="utf8") as f:

La plupart des fichiers texte de nos jours utilisent le codage UTF-8, mais certains autres fichiers courants sont ISO-8859 (iso-8859-1), UTF-16 (utf16) ou Windows-1252 (cp1252).

Votre toolbelt Python inclut désormais la possibilité d'imprimer dans un fichier, une tâche fréquente dans les scripts.

Pour vous aider dans votre parcours d'apprentissage Python, nous avons rassemblé une liste de sites Web proposant des explications et des conseils approfondis sur Python.