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.

Essayez cette solution dans l'éditeur

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())
Sortie terminale
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.