980 Stimmen

Schreiben einer Liste in eine Datei mit Python

Ist dies der sauberste Weg, um eine Liste in eine Datei zu schreiben, da writelines() fügt keine Zeilenumbrüche ein?

file.writelines(["%s\n" % item  for item in list])

Es scheint, als gäbe es eine Standardmethode...

53 Stimmen

Beachten Sie bitte, dass writelines fügt keine Zeilenumbrüche hinzu, weil es die readlines was sie ebenfalls nicht entfernt.

1 Stimmen

Es zwischen json vs pickle. lesen Sie alles darüber - stackoverflow.com/questions/27745500/

0voto

Nikhil B Punkte 93

En Python3 Sie können diese Schleife verwenden

with open('your_file.txt', 'w') as f:
    for item in list:
        f.print("", item)

0voto

Youjun Hu Punkte 585

Die Umleitung von stdout in eine Datei kann für diesen Zweck ebenfalls nützlich sein:

from contextlib import redirect_stdout
with open('test.txt', 'w') as f:
  with redirect_stdout(f):
     for i in range(mylst.size):
        print(mylst[i])

0voto

Bahae El Hmimdi Punkte 370

Ich schlage diese Lösung vor.

with open('your_file.txt', 'w') as f:        
    list(map(lambda item : f.write("%s\n" % item),my_list))

-1voto

belthazar Punkte 27

Lassen Sie avg also die Liste sein:

In [29]: a = n.array((avg))
In [31]: a.tofile('avgpoints.dat',sep='\n',dtype = '%f')

Sie können verwenden %e o %s je nach Ihrem Bedarf.

-1voto

BurgerKing Lee Punkte 9

Ich glaube, Sie suchen nach einer Antwort wie dieser.

f = open('output.txt','w')
list = [3, 15.2123, 118.3432, 98.2276, 118.0043]
f.write('a= {:>3d}, b= {:>8.4f}, c= {:>8.4f}, d= {:>8.4f}, e= 
{:>8.4f}\n'.format(*list))
f.close()

0 Stimmen

Was soll das?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X