Python Language Scrivere su un file

Esempio

with open('myfile.txt', 'w') as f:
    f.write("Line 1")
    f.write("Line 2")
    f.write("Line 3")
    f.write("Line 4")

Se apri myfile.txt , vedrai che il suo contenuto è:

Linea 1 Linea 2 Linea 3 Linea 4

Python non aggiunge automaticamente interruzioni di riga, è necessario farlo manualmente:

with open('myfile.txt', 'w') as f:
    f.write("Line 1\n")
    f.write("Line 2\n")
    f.write("Line 3\n")
    f.write("Line 4\n")

Linea 1
Linea 2
Linea 3
Linea 4

Non utilizzare os.linesep come terminatore di riga durante la scrittura di file aperti in modalità testo (impostazione predefinita); usa invece \n .

Se si desidera specificare una codifica, è sufficiente aggiungere il parametro di encoding alla funzione di open :

with open('my_file.txt', 'w', encoding='utf-8') as f:
    f.write('utf-8 text')

È anche possibile utilizzare l'istruzione print per scrivere su un file. Le meccaniche sono diverse in Python 2 vs Python 3, ma il concetto è lo stesso in quanto puoi prendere l'output che sarebbe andato sullo schermo e invece inviarlo a un file.

Python 3.x 3.0
with open('fred.txt', 'w') as outfile:
    s = "I'm Not Dead Yet!"
    print(s) # writes to stdout
    print(s, file = outfile) # writes to outfile

    #Note: it is possible to specify the file parameter AND write to the screen
    #by making sure file ends up with a None value either directly or via a variable
    myfile = None
    print(s, file = myfile) # writes to stdout
    print(s, file = None)   # writes to stdout

In Python 2 avresti fatto qualcosa di simile

Python 2.x 2.0
outfile = open('fred.txt', 'w')
s = "I'm Not Dead Yet!"
print s   # writes to stdout
print >> outfile, s   # writes to outfile

A differenza dell'utilizzo della funzione di scrittura, la funzione di stampa aggiunge automaticamente interruzioni di riga.