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/

17voto

Marvin W Punkte 3163

Allgemein

Es folgt die Syntax für writelines() Methode

fileObject.writelines( sequence )

Ejemplo

#!/usr/bin/python

# Open a file
fo = open("foo.txt", "rw+")
seq = ["This is 6th line\n", "This is 7th line"]

# Write sequence of lines at the end of the file.
line = fo.writelines( seq )

# Close opend file
fo.close()

Referenz

http://www.tutorialspoint.com/python/file_writelines.htm

14voto

kamilazdybal Punkte 223

Verwendung von numpy.savetxt ist auch eine Option:

import numpy as np

np.savetxt('list.txt', list, delimiter="\n", fmt="%s")

1 Stimmen

Ich musste die Datei schreiben, um den Inhalt einer langen Liste zu lesen, um bei der Fehlersuche in einem Code zu helfen. Diese Option funktionierte perfekt.

14voto

mtasic85 Punkte 3644
file.write('\n'.join(list))

1 Stimmen

Dabei ist zu beachten, dass die Datei als Text geöffnet werden muss, um wirklich plattformneutral zu sein.

3 Stimmen

Wie erhalten Sie die file variabel?

9voto

Nandita Damaraju Punkte 173

Sie können auch die Funktion print verwenden, wenn Sie python3 verwenden, wie folgt.

f = open("myfile.txt","wb")
print(mylist, file=f)

0 Stimmen

Wird nicht nur eine Zeile in myfile.txt eingefügt, etwa so: ['a','b','c'], anstatt a,b,c in jede Zeile zu schreiben.

8voto

shankar Punkte 421
with open ("test.txt","w")as fp:
   for line in list12:
       fp.write(line+"\n")

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