1375 Stimmen

Wie liest man eine Textdatei in eine Zeichenfolgenvariable ein und entfernt Zeilenumbrüche?

Ich habe eine Textdatei, die so aussieht:

ABC
DEF

Wie kann ich die Datei in einen einzelnen Zeichenfolge ohne Zeilenumbrüche einlesen, in diesem Fall eine Zeichenfolge 'ABCDEF' erstellen?


Um die Datei in eine <em>Liste</em> von Zeilen einzulesen, aber das Zeilenendezeichen von jedem Zeile zu entfernen, sehen Sie <a href="https://stackoverflow.com/questions/12330522/how-to-read-a-file-without-newlines">Wie man eine Datei ohne Zeilenumbrüche liest?</a>.

20voto

Julian Punkte 3612

Ich bin überrascht, dass noch niemand splitlines() erwähnt hat.

with open ("data.txt", "r") as myfile:
    data = myfile.read().splitlines()

Die Variable data ist jetzt eine Liste, die so aussieht, wenn sie gedruckt wird:

['LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN', 'GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE']

Beachten Sie, dass keine Zeilenumbrüche vorhanden sind (\n).

An diesem Punkt hört es sich so an, als wollten Sie die Zeilen zurück in die Konsole drucken, was Sie mit einer Schleife erreichen können:

for line in data:
    print(line)

19voto

Loochie Punkte 2096

Dies kann mit der read() Methode durchgeführt werden :

text_as_string = open('Your_Text_File.txt', 'r').read()

Oder da der Standardmodus bereits 'r' (lesen) ist, können Sie einfach verwenden,

text_as_string = open('Your_Text_File.txt').read()

12voto

whirlwin Punkte 15114

Ich habe eine Weile damit herumgespielt und ziehe es vor, read in Kombination mit rstrip zu verwenden. Ohne rstrip("\n") fügt Python eine neue Zeile am Ende des Strings hinzu, was in den meisten Fällen nicht sehr nützlich ist.

with open("myfile.txt") as f:
    file_content = f.read().rstrip("\n")
    print(file_content)

12voto

Chris Eberle Punkte 46685

Es ist schwer zu sagen, was genau du willst, aber etwas in dieser Art sollte dir den Einstieg ermöglichen:

with open ("data.txt", "r") as myfile:
    data = ' '.join([line.replace('\n', '') for line in myfile.readlines()])

12voto

My Car Punkte 656

Probieren Sie den folgenden Code aus:

with open("meine_textdatei.txt", "r") as datei:
    daten = datei.read().replace("\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