Utilisateur anonyme
Détails
Comment ajouter un fichier en Python ?
Comment ajouter au fichier au lieu de l'écraser ? Existe-t-il une fonction spéciale qui ajoute des données au fichier ?
1439
3
Vous devez ouvrir le fichier en mode append, en définissant "a" ou "ab" comme mode. Voir [open()][1].
Lorsque vous ouvrez en mode "a", la position d'écriture sera toujours à la fin du fichier (un append). Vous pouvez ouvrir avec le mode "a+" pour permettre la lecture, la recherche en arrière et la lecture (mais toutes les écritures seront toujours à la fin du fichier !).
Exemple :
Note : L'utilisation de 'a' n'est pas la même chose que l'ouverture avec 'w' et la recherche jusqu'à la fin du fichier - considérez ce qui pourrait se passer si un autre programme ouvrait le fichier et commençait à écrire entre la recherche et l'écriture. Sur certains systèmes d'exploitation, l'ouverture du fichier avec 'a' garantit que toutes les écritures suivantes seront ajoutées de manière atomique à la fin du fichier (même si le fichier est agrandi par d'autres écritures).
Quelques détails supplémentaires sur le fonctionnement du mode "a" (testé sur Linux uniquement). Même si vous cherchez en arrière, chaque écriture sera ajoutée à la fin du fichier :
En fait, la [page de manuel][2] de
fopen
déclare :Ancienne réponse simplifiée (sans utiliser
with
) :Exemple : (dans un vrai programme utiliser
with
pour fermer le fichier - voir [la documentation][3])[1] : https://docs.python.org/2/library/functions.html#open [2] : http://www.manpagez.com/man/3/fopen/ [3] : http://docs.python.org/2/whatsnew/2.6.html#pep-343-the-with-statement
Vous voulez probablement passer
"a"
comme argument de mode. Voir la documentation de [open()][1].Il y a d'autres permutations de l'argument mode pour la mise à jour (+), la troncature (w) et le mode binaire (b) mais commencer avec juste
"a"
est votre meilleure chance.[1] : http://docs.python.org/library/functions.html#open