Comment écrire dans un fichier en Python (écriture et ajout)
Apprenez à écrire du texte dans des fichiers en Python. Maîtrisez la différence entre les modes d'écriture ("w") et d'ajout ("a") avec des gestionnaires de contexte sécurisés.
Aperçu
L'écriture de données dans des fichiers est une tâche fondamentale lors de la création de scripts, de l'enregistrement des états de programme, de la création de journaux ou de l'exportation de rapports. Python simplifie la sortie des fichiers à l'aide de la fonction `open()` intégrée, combinée à des modes d'accès aux fichiers spécifiques qui contrôlent la manière dont les données sont écrites sur le disque.
Lors de l'écriture de fichiers, les deux modes les plus courants sont le mode écriture (""w"`) et le mode ajout (""a"`). Le mode écriture écrase entièrement le fichier s'il existe déjà, ou en crée un nouveau s'il n'existe pas. Le mode Ajout préserve le contenu existant et écrit les nouvelles données directement à la fin du fichier. L’utilisation d’un mauvais mode peut entraîner une perte accidentelle de données, alors choisissez soigneusement.
Semblable à la lecture de fichiers, vous devez toujours utiliser l'instruction « with open(...) ». Cela garantit que le tampon de fichier est vidé et que le descripteur de fichier est correctement fermé, économisant ainsi les ressources système et empêchant la corruption des données. Pour écrire des listes de chaînes, Python fournit la méthode `.writelines()`, rendant les écritures groupées propres et efficaces.
Sortie de code et d'exécution
Ce script montre l'écrasement, l'ajout et l'affichage de fichiers en Python.
# 1. Overwrite a file (or create new) using "w"
with open("output.txt", "w") as file:
file.write("Hello World from Python!\n")
file.write("Writing file content is simple.\n")
# 2. Append new content to the file using "a"
with open("output.txt", "a") as file:
file.write("This line is appended.\n")
# 3. Reading the file back to verify contents
with open("output.txt", "r") as file:
print(file.read().strip())Hello World from Python!
Writing file content is simple.
This line is appended.Mise en œuvre étape par étape
- Utiliser avec open('filename', 'w') comme fichier pour écraser ou créer un fichier.
- À utiliser avec open('filename', 'a') as file pour ajouter du texte à la fin du fichier.
- Appelez file.write('string') pour écrire des segments de texte individuels dans le fichier.
Foire aux questions
Que se passe-t-il si le répertoire du fichier n'existe pas ?
Python générera une FileNotFoundError. Vous devez d'abord créer le répertoire à l'aide de la fonction os.makedirs avant d'écrire le fichier.
Comment écrire des variables ou des nombres dans un fichier ?
La méthode write() n'accepte que les arguments de chaîne. Vous devez convertir les nombres en utilisant str(num) ou les formater en utilisant des f-strings.
Sujets connexes
Apprenez à lire des fichiers en Python. Maîtrisez l'instruction with open, readline, readlines et gérez en toute sécurité les exceptions de fichiers.
Comment gérer les exceptions en PythonApprenez à gérer les exceptions en Python à l’aide des blocs try, except, else et enfin. Écrivez du code Python sans erreur et résistant aux plantages.
Ressources Python recommandées
Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.
E/S de fichier Python
Apprenez à lire et écrire des fichiers en Python. Maîtrisez open(), read(), write() et les gestionnaires de contexte pour gérer les opérations sur les fichiers en toute sécurité sans fuite de ressources.
Aide-mémoire sur les opérations de fichiers Python
Référence rapide pour lire et écrire des fichiers en Python. Maîtrisez les modes ouverts, les gestionnaires de contexte et la lecture ligne par ligne.
Décorateurs Python et modèle de conception de décorateur : les principales différences
Comparez les décorateurs Python et le modèle de conception de décorateur classique. Comprenez les différences entre l'encapsulation de fonctions au moment de la définition et la composition d'objets dynamiques d'exécution avec du code exécutable.