Olen tottunut tekemään print >>f, "hei sinne"
.
Näyttää kuitenkin siltä, että print >>
on poistumassa käytöstä. Mikä on suositeltava tapa tehdä yllä oleva rivi?
Päivitä:
Mitä tulee kaikkiin vastauksiin, joissa on "\n"
... onko tämä yleinen vai Unix-kohtainen? IE, pitäisikö minun tehdä "\r\n"
Windowsissa?
Sinun tulisi käyttää print()
-funktiota, joka on käytettävissä Python 2.6+:sta lähtien.
from __future__ import print_function # Only needed for Python 2
print("hi there", file=f)
Python 3:ssa et tarvitse import
-funktiota, koska print()
-funktio on oletusarvoisesti käytössä.
Vaihtoehtona olisi käyttää:
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
Lainaus Pythonin dokumentaatiosta koskien rivinvaihtoa:
Jos newline on None, kaikki kirjoitetut '\n'
merkit käännetään järjestelmän oletusarvoiseksi rivinvälittäjäksi, os.linesep
. Jos newline on ''
, kääntämistä ei tapahdu. Jos newline on jokin muu laillinen arvo, kaikki kirjoitetut '\n'
merkit käännetään annetuksi merkkijonoksi.
En usko, että on olemassa mitään "oikeaa" tapaa.
Minä käyttäisin:
with open ('myfile', 'a') as f: f.write ('hi there\n')
In memoriam Tim Toady.