Έχω συνηθίσει να κάνω print >>f, "γεια σου"
Ωστόσο, φαίνεται ότι το print >>
έχει ξεπεραστεί. Ποιος είναι ο συνιστώμενος τρόπος για να κάνετε την παραπάνω γραμμή;
Ενημέρωση:
Όσον αφορά όλες αυτές τις απαντήσεις με "\n"
... είναι αυτό καθολικό ή ειδικό για το Unix; IE, θα έπρεπε να κάνω το "\r\n"
στα Windows;
Θα πρέπει να χρησιμοποιήσετε τη συνάρτηση print()
η οποία είναι διαθέσιμη από την Python 2.6+.
from __future__ import print_function # Only needed for Python 2
print("hi there", file=f)
Για την Python 3 δεν χρειάζεστε την import
, αφού η συνάρτηση print()
είναι η προεπιλεγμένη.
Η εναλλακτική λύση θα ήταν να χρησιμοποιήσετε:
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
Παραθέτοντας από την τεκμηρίωση της Python σχετικά με τις νέες γραμμές:
Στην έξοδο, αν η newline είναι None, οι χαρακτήρες
'\n'
που γράφονται μεταφράζονται στον προεπιλεγμένο διαχωριστή γραμμών του συστήματος,os.linesep
. Εάν η newline είναι''
, δεν πραγματοποιείται καμία μετάφραση. Εάν η newline είναι οποιαδήποτε από τις άλλες νόμιμες τιμές, οι χαρακτήρες'\n'
που γράφονται μεταφράζονται στη δεδομένη συμβολοσειρά.
Δεν νομίζω ότι υπάρχει ένας "σωστός" τρόπος.
Θα χρησιμοποιούσα:
with open ('myfile', 'a') as f: f.write ('hi there\n')
In memoriam Tim Toady.