Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich bestimmte Zeilen aus einer großen Datei in Python effizient lesen?

Wie kann ich bestimmte Zeilen aus einer großen Datei in Python effizient lesen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-10 03:18:13981Durchsuche

How Can I Efficiently Read Specific Lines from a Large File in Python?

Zeilenspezifisches Lesen von Dateien in Python

Bei der Verarbeitung großer Textdateien ist es häufig erforderlich, nur bestimmte Zeilen und nicht die gesamte Datei zu lesen . Dies kann die Leistung optimieren und Speicherplatz sparen. Python bietet Möglichkeiten, dies zu erreichen, ohne die gesamte Datei in den Speicher zu laden.

Bestimmte Zeilen mithilfe der Zeilennummer lesen

Angenommen, Sie möchten Zeile 26 und Zeile 30 aus a lesen große Textdatei. Ein einfacher Ansatz besteht darin, die Datei zu öffnen und eine for-Schleife zu verwenden, um über die Zeilen zu iterieren:

fp = open("file")
for i, line in enumerate(fp):
    if i == 25:
        # 26th line
    elif i == 29:
        # 30th line
    elif i > 29:
        break
fp.close()

Beachten Sie, dass i == n - 1 für die n-te Zeile. Dadurch können Sie die gewünschten Zeilennummern genau angeben.

Alternativ können Sie, wenn Sie Python 2.6 oder höher verwenden, die folgende Syntax verwenden:

with open("file") as fp:
    for i, line in enumerate(fp):
        if i == 25:
            # 26th line
        elif i == 29:
            # 30th line
        elif i > 29:
            break

Dieser Ansatz verarbeitet Dateien automatisch abschließend und prägnanter.

Das obige ist der detaillierte Inhalt vonWie kann ich bestimmte Zeilen aus einer großen Datei in Python effizient 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