424 Stimmen

Wie kann ich neue Zeilen in einer Zeichenkette angeben, um mehrere Zeilen in eine Datei zu schreiben?

Wie kann ich in Python einen Zeilenumbruch in einer Zeichenkette angeben, so dass ich mehrere Zeilen in eine Textdatei schreiben kann?

6 Stimmen

Sie wissen schon, dass Pythons print funktioniert wie System.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

1voto

Mateen Ulhaq Punkte 21111

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") .

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