Jag är van vid att göra print >>f, "hej där"
Det verkar dock som om print >>
håller på att avvecklas. Vilket är det rekommenderade sättet att göra raden ovan?
Uppdatera:
Angående alla svaren med &"\n"
... är detta universellt eller Unix-specifikt? IE, borde jag göra &"\r\n"
på Windows?
Du bör använda funktionen print()
som är tillgänglig sedan Python 2.6+.
from __future__ import print_function # Only needed for Python 2
print("hi there", file=f)
För Python 3 behöver du inte import
, eftersom print()
-funktionen är standard.
Alternativet skulle vara att använda:
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
Citat från Python-dokumentation angående nya rader:
Vid utdata, om newline är None, översätts alla skrivna
'\n'
-tecken till systemets standard-linjeseparator,os.linesep
. Om newline är''
sker ingen översättning. Om newline är något av de andra lagliga värdena översätts alla skrivna'\n'
-tecken till den givna strängen.
Jag tror inte att det finns något korrekt sätt.
Jag skulle använda:
with open ('myfile', 'a') as f: f.write ('hi there\n')
In memoriam Tim Toady.