Vous devez utiliser open
avec le w+
mod :
file = open('myfile.dat', 'w+')
L'avantage de l'approche suivante est que le fichier est correctement fermé à la fin du bloc, même si une exception est levée en cours de route. C'est équivalent à try-finally
, mais beaucoup plus court.
with open("file.dat","a+") as f:
f.write(...)
...
a+ Ouvre un fichier pour l'ajout et la lecture. Le pointeur de fichier se trouve à la fin du fichier si le fichier existe. Le fichier s'ouvre en mode ajout. Si le fichier n'existe pas, il crée un nouveau fichier pour la lecture et l'écriture. -Modes de fichiers Python
La méthode seek() définit la position actuelle du fichier.
f.seek(pos [, (0|1|2)])
pos .. position of the r/w pointer
[] .. optionally
() .. one of ->
0 .. absolute position
1 .. relative position to current
2 .. relative position from end
Seuls les caractères "rwab+" sont autorisés ; il doit y avoir exactement un "rwa" - voir la question Stack Overflow Détail des modes de fichier Python .
La bonne pratique consiste à utiliser les éléments suivants :
import os
writepath = 'some/path/to/file.txt'
mode = 'a' if os.path.exists(writepath) else 'w'
with open(writepath, mode) as f:
f.write('Hello, world!\n')