224 votes

Comment effacer le contenu du fichier texte dans Python ?

J'ai un fichier texte que je veux effacer en Python. Comment je fais ça ?

432voto

ondra Points 2491

En python :

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

Ou bien, si vous avez déjà un fichier ouvert :

f = open('file.txt', 'r+')
f.truncate(0) # need '0' when using r+

41voto

Douglas Leeder Points 29986

L'ouverture d'un fichier en mode « écriture » le vide, vous n'avez pas spécifiquement à y écrire :

open("filename", "w").close()

(vous devez le fermer car le moment où le fichier est fermé automatiquement peut être spécifique à l'implémentation)

20voto

CasualCoder3 Points 198

Comme @jamylak l'a suggéré, une bonne alternative qui inclut les avantages des gestionnaires de contexte est :

with open('filename.txt', 'w'):
    pass

14voto

Cyn Points 71

En utilisant with open("myfile.txt", "r+") as my_file:, j'obtiens des zéros étranges dans myfile.txt, d'autant plus que je lis le fichier en premier. Pour que cela fonctionne, j'ai dû d'abord changer le pointeur de my_file au début du fichier avec my_file.seek(0). Ensuite, je pourrais faire my_file.truncate() pour effacer le fichier.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X