Ik ben gewend om 'print >>f, "hi there"` te doen.
Het lijkt er echter op dat print >>
deprecated aan het worden is. Wat is de aanbevolen manier om de regel hierboven te doen?
Update:
Wat betreft al die antwoorden met "\n"
...is dit universeel of Unix-specifiek? IE, zou ik "\n"
onder Windows moeten doen?
Je moet de print()
functie gebruiken die beschikbaar is sinds Python 2.6+
from __future__ import print_function # Only needed for Python 2
print("hi there", file=f)
Voor Python 3 heb je de import
niet nodig, omdat de print()
functie de standaard is.
Het alternatief zou zijn om te gebruiken:
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
Citeren uit Python documentatie betreffende newlines:
Op uitvoer, als newline None is, worden alle
'\n'
tekens die geschreven zijn vertaald naar het standaard regelscheidingsteken van het systeem,os.linesep
. Als newline''
is, vindt er geen vertaling plaats. Als newline een van de andere legale waarden is, worden alle geschreven''
-tekens vertaald naar de gegeven tekenreeks.
Ik denk niet dat er een "juiste" manier is.
Ik zou gebruiken:
with open ('myfile', 'a') as f: f.write ('hi there\n')
In memoriam Tim Toady.