J'ai l'habitude de faire print >>f, "hi there"
.
Cependant, il semble que l'option print >>
devienne obsolète. Quelle est la façon recommandée de faire la ligne ci-dessus ?
Update :
Concernant toutes ces réponses avec "\n"
... est-ce universel ou spécifique à Unix ? IE, devrais-je faire "\n"
sous Windows ?
Vous devez utiliser la fonction print()
qui est disponible depuis Python 2.6+.
from __future__ import print_function # Only needed for Python 2
print("hi there", file=f)
Pour Python 3, vous n'avez pas besoin de la fonction import
, puisque la fonction print()
est la fonction par défaut.
L'alternative serait d'utiliser :
f = open('myfile', 'w')
f.write('hi there\n') # python will convert \n to os.linesep
f.close() # you can omit in most cases as the destructor will call it
Citation de la [documentation Python][1] concernant les nouvelles lignes :
Sur la sortie, si newline est None, tout caractère
'\n'`` écrit est traduit par le séparateur de ligne par défaut du système,
os.linesep. Si newline est
'', aucune traduction n'a lieu. Si newline est l'une des autres valeurs légales, tous les caractères "
'\n'` " écrits sont convertis en la chaîne de caractères donnée.
[1] : https://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files
Je ne pense pas qu'il y ait une méthode "correcte".
Je l'utiliserais :
with open ('myfile', 'a') as f: f.write ('hi there\n')
In memoriam [Tim Toady] (http://en.wikipedia.org/wiki/There%27s_more_than_one_way_to_do_it).