CodeGym /Cours /Python SELF FR /Écriture de données dans un fichier

Écriture de données dans un fichier

Python SELF FR
Niveau 21 , Leçon 2
Disponible

3.1 Création d'un fichier

Les fichiers sont créés automatiquement lorsqu'ils sont ouverts en mode écriture ('w') ou en mode ajout ('a'). Si le fichier existe déjà, le mode 'w' écrase son contenu, tandis que le mode 'a' ajoute les données à la fin du fichier.

Exemple de création de fichier


file = open('example.txt', 'w')  # Ouvre le fichier pour écriture, le crée s'il n'existe pas
file.write("This is a new file.\n")
file.close()
        

Dans cet exemple, le fichier example.txt est créé (s'il n'existe pas) et une ligne "This is a new file.\n" y est écrite.

Vous pouvez créer un fichier complètement vide en l'ouvrant simplement pour écriture et en le fermant immédiatement.

Exemple de création d'un fichier vide


file = open('example.txt', 'w')  
file.close()
        

Notez que si vous ouvrez un fichier existant en écriture, tout son contenu sera supprimé.

3.2 Écriture dans un fichier

Il existe deux méthodes populaires pour écrire des données dans un fichier — write() et writelines().

Méthode write()

La méthode write() écrit une chaîne dans le fichier. Si le fichier est ouvert en mode écriture ('w'), son contenu sera supprimé avant l'écriture de nouvelles données. Si le fichier est ouvert en mode ajout ('a'), les nouvelles données seront ajoutées à la fin du fichier.

Exemple d'utilisation de write() :


# Ouverture du fichier en mode écriture
file = open('example.txt', 'w')
file.write("Hello, World!\n")
file.write("This is a test file.\n")
file.close()
        

Méthode writelines()

La méthode writelines() prend une liste de chaînes et les écrit dans le fichier. Elle n'ajoute pas automatiquement les caractères de nouvelle ligne, donc vous devez les inclure dans les chaînes.

Exemple d'utilisation de writelines() :


lines = ["First line.\n", "Second line.\n", "Third line.\n"]

# Ouverture du fichier en mode écriture
file = open('example.txt', 'w')
file.writelines(lines)
file.close()
        

Encodage du fichier

Vous pouvez spécifier l'encodage du fichier texte lors de sa lecture ou écriture. Cela se fait à l'aide du paramètre nommé encoding.

Exemple :


# Ouverture du fichier pour écriture avec encodage UTF-8
file = open('example_utf8.txt', 'w', encoding='utf-8')  
file.write("Texte en russe.\n")
file.write("More text in UTF-8.\n")
file.close()
        

Nous discuterons des différents encodages de fichiers et de texte plus tard, mais il est déjà utile de savoir que ce paramètre existe et que son utilisation peut vous éviter de nombreux problèmes.

3.3 Ajout de données dans un fichier

Ajouter des données à la fin d'un fichier est aussi simple que de les y écrire. Vous n'avez qu'à spécifier le mode ajout ('a') lors de l'ouverture du fichier, et tout le reste se fait automatiquement.

Voici quelques exemples :

Ajout de lignes à la fin d'un fichier

Cet exemple montre comment ouvrir un fichier en mode ajout ('a') et y ajouter plusieurs lignes à la fin.


file = open('example.txt', 'a')  # Ouverture du fichier pour ajout de données
file.write("This is a new line added to the file.\n")
file.write("Another line is appended.\n")
file.close()  # Fermeture du fichier
        

Ajout d'une liste de lignes à la fin d'un fichier

Cet exemple montre comment utiliser la méthode writelines() pour ajouter une liste de lignes à la fin d'un fichier.


lines = [
    "Appending first line from list.\n",
    "Appending second line from list.\n",
    "Appending third line from list.\n"
]
        
file = open('example.txt', 'a')  # Ouverture du fichier pour ajout de données
file.writelines(lines)  # Ajout de la liste de lignes
file.close()  # Fermeture du fichier
        

Ajout d'une ligne avec encodage spécifié

Cet exemple montre comment ouvrir un fichier en mode ajout avec un encodage spécifié (par exemple, UTF-8) et ajouter une ligne.


# Ouverture du fichier pour ajout de données avec encodage spécifié
file = open('example_utf8.txt', 'a', encoding='utf-8')  
file.write("Ajout d'une ligne avec UTF-8.\n")
file.write("Encore une ligne ajoutée.\n")
file.close()  # Fermeture du fichier
        

Comme tu vois, c'est très simple.

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION