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

2voto

Vielleicht könntest du das ausprobieren? Ich benutze das in meinen Programmen.

Daten = open ('data.txt', 'r')
daten = Daten.readlines()
for i in range(len(daten)):
    daten[i] = daten[i].strip()+ ' '
daten = ''.join(daten).strip()

2voto

Alex Punkte 944

Regulärer Ausdruck funktioniert auch:

import re
with open("depression.txt") as f:
     l = re.split(' ', re.sub('\n',' ', f.read()))[:-1]

print (l)

['Ich', 'fühle', 'mich', 'leer', 'und', 'tot', 'von', 'innen']

1voto

PyGuy Punkte 43

Dies funktioniert: Ändern Sie Ihre Datei zu:

LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE

Dann:

file = open("file.txt")
line = file.read()
words = line.split()

Dies erstellt eine Liste mit dem Namen words, die gleich ist:

['LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN', 'GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE']

Damit wurde das "\n" beseitigt. Um auf den Teil mit den Klammern einzugehen, machen Sie einfach dies:

for word in words: # Angenommen, words ist die Liste oben
    print word # Gibt jedes Wort in der Datei in einer neuen Zeile aus

Oder:

print words[0] + ",", words[1] # Beachten Sie, dass das "+"-Symbol keine Leerzeichen anzeigt
#Das Komma nicht in Klammern zeigt einen Abstand an

Dies gibt zurück:

LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN, GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE

1voto

mit open('data.txt', 'r') as datei:
    daten = [zeile.strip('\n') for zeile in datei.readlines()]
    daten = ''.join(daten)

0voto

with open(player_name, 'r') as myfile:
 data=myfile.readline()
 list=data.split(" ")
 word=list[0]

Dieser Code hilft Ihnen, die erste Zeile zu lesen und dann mit der List und Split-Option das erste Wort, das durch Leerzeichen getrennt ist, in einer Liste zu speichern.

Dann können Sie leicht auf jedes Wort zugreifen oder es sogar in einem String speichern.

Sie können dasselbe auch mit einer for-Schleife tun.

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