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.
GO TO FULL VERSION