Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich mit Python effizient Zeilen in großen Dateien zählen?

Wie kann ich mit Python effizient Zeilen in großen Dateien zählen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-13 02:52:10967Durchsuche

How Can I Efficiently Count Lines in Large Files Using Python?

Ermitteln der Zeilenanzahl für große Dateien in Python

Das Berechnen der Zeilenanzahl großer Dateien kann eine ressourcenintensive Aufgabe sein. Indem wir sowohl die Effizienz als auch den Speicherverbrauch optimieren, können wir diese Herausforderung effektiv bewältigen.

Ein weit verbreiteter Ansatz besteht darin, die Aufzählung in einer for-Schleife zu verwenden, wie im bereitgestellten Beispiel gezeigt. Diese Methode kann jedoch leistungsintensiv sein.

Eine effizientere Lösung

Für eine schnellere und präzisere Lösung können wir Folgendes verwenden:

num_lines = sum(1 for _ in open('myfile.txt'))

Dieser einzeilige Code nutzt die Flexibilität von Generatorausdrücken, um die Zeilen zu zählen, ohne den gesamten Dateiinhalt zu durchlaufen und ihn darin zu speichern Speicher.

Weitere Leistungsverbesserungen

Um die Geschwindigkeit und Robustheit zu erhöhen, können wir den Binärmodus (rb) integrieren und den Code in einen with-Block einbinden, um das Schließen von Dateien zu verarbeiten:

with open("myfile.txt", "rb") as f:
    num_lines = sum(1 for _ in f)

Veraltete Verwendung

In früheren Python-Versionen In Version 3.3 wurde das „U“ im rbU-Modus verwendet, um eine universelle Newline-Unterstützung zu ermöglichen. Diese Verwendung ist jedoch veraltet und stattdessen sollte der RB-Modus verwendet werden. Python 3.11 hat „U“ aus rbU entfernt und rb zur Standardoption gemacht.

Das obige ist der detaillierte Inhalt vonWie kann ich mit Python effizient Zeilen in großen Dateien zählen?. 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