Wie kann ich in Python einen Zeilenumbruch in einer Zeichenkette angeben, so dass ich mehrere Zeilen in eine Textdatei schreiben kann?
Antwort
Zu viele Anzeigen?Verschiedene gleichwertige Methoden
Verwendung von print
print
fügt bereits standardmäßig einen Zeilenumbruch an!
with open("out.txt", "w") as f:
print("First", file=f)
print("Second", file=f)
Äquivalent:
with open("out.txt", "w") as f:
print("First\nSecond", file=f)
An print
sans automatisch einen Zeilenumbruch hinzufügen, verwenden Sie sep=""
(seit sep="\n"
ist die Standardeinstellung):
with open("out.txt", "w") as f:
print("First\nSecond\n", sep="", file=f)
Verwendung von f.write
Für Dateien, die im Textmodus geöffnet werden:
with open("out.txt", "w") as f:
f.write("First\nSecond\n")
Für Dateien, die im Binärmodus geöffnet wurden, werden die Dateien geschrieben sans automatische Übersetzung von \n
an den plattformspezifischen Leitungsabschluss. Um zu erzwingen, dass das Zeilenumbruchzeichen für die aktuelle Plattform verwendet wird, verwenden Sie os.linesep
anstelle von \n
:
with open("out.txt", "wb") as f:
f.write("First" + os.linesep)
f.write("Second" + os.linesep)
Ausgabedatei
Visuell:
First
Second
Unter Linux werden die Zeilenumbrüche durch \n
:
First\nSecond\n
Unter Windows werden die Zeilenumbrüche durch \r\n
:
First\r\nSecond\r\n
Um die automatische Übersetzung von \n
a \r\n
für Dateien, die im Textmodus geöffnet wurden, öffnen Sie die Datei mit open("out.txt", "w", newline="\n")
.
- See previous answers
- Weitere Antworten anzeigen
6 Stimmen
Sie wissen schon, dass Pythons
print
funktioniert wieSystem.out.println
in Java, und fügt automatisch einen Zeilenumbruch nach dem Text ein, richtig?2 Stimmen
Les
print
Anweisung in Python kann auch verwendet werden, um in Dateien zu schreiben (die Details unterscheiden sich zwischen Python 2.x und Python 3.x, schauen Sie also in den Referenzdokumenten für Ihre Version nach).print
in Python 2.x -print
in Python 3.x