Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine Datei in Python ohne Newline-Zeichen lesen?

Wie kann ich eine Datei in Python ohne Newline-Zeichen lesen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-16 18:30:12639Durchsuche

How Can I Read a File in Python Without Newline Characters?

Eine Datei ohne Zeilenumbrüche lesen

Pythons open(filename,'r').readlines()-Methode stellt eine Liste von Zeilen aus einer Datei bereit, aber jedes Element enthält ein Newline-Zeichen. Um die Daten ohne diese Zeichen abzurufen, stehen mehrere Ansätze zur Verfügung.

Verwenden von str.splitlines()

Eine Methode besteht darin, die gesamte Datei zu lesen und die Zeilen mithilfe von str.splitlines:

temp = file.read().splitlines()
Neue Zeilen manuell entfernen

Alternativ können Sie den Zeilenumbruch aus jeder Zeile entfernen manuell:

temp = [line[:-1] for line in file]

Hinweis: Bei diesem Ansatz wird davon ausgegangen, dass die Datei mit einer neuen Zeile endet. Andernfalls verliert die letzte Zeile ein Zeichen.

Umgang mit Zeilenende-Zeilen

Um dieses Problem zu vermeiden, können Sie eine neue Zeile an das Ende der Datei anhängen, wenn diese fehlt:

with open(the_file, 'r+') as f:
    f.seek(-1, 2)
    if f.read(1) != '\n':
        f.write('\n')
        f.flush()
        f.seek(0)
    lines = [line[:-1] for line in f]
Oder, prägnanter, entfernen Sie die neue Zeile:

[line.rstrip('\n') for line in file]
Äquivalente Lesezeilen Implementierung

Die readlines-Methode emuliert effektiv den folgenden Code:

def readlines(self):
    lines = []
    for line in iter(self.readline, ''):
        lines.append(line)
    return lines
Daher behält readlines() auch die von readline() gelesenen Zeilenumbruchzeichen bei.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Datei in Python ohne Newline-Zeichen lesen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn