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

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

Patricia Arquette
Patricia ArquetteOriginal
2024-12-11 12:53:10202Durchsuche

How Can I Efficiently Count Lines in a Large File Using Python?

Bestimmen der Zeilenanzahl einer umfangreichen Datei in Python mit erhöhter Effizienz

Das Zählen von Zeilen in großen Dateien stellt eine Herausforderung in Bezug auf Speicher und Zeit dar Verbrauch. Dieser Artikel bietet einen optimierten Ansatz zur Behebung dieses Problems und bietet Lösungen für die Zeilenzählung bei gleichzeitiger Minimierung der Ressourcennutzung.

Speichereffizienter Ansatz

Die herkömmliche Methode, am Beispiel von Der bereitgestellte Code zählt Zeilen in der Datei auf und zählt sie der Reihe nach. Obwohl dieser Ansatz funktionsfähig ist, erfordert er die Iteration über die gesamte Datei im Speicher und verbraucht erhebliche Speicherressourcen.

Schnellerer Ansatz mit Summierung

Ein schnellerer Ansatz beinhaltet die Verwendung eines Generatorausdrucks Zeilen direkt zählen. Der folgende Codeausschnitt demonstriert diese Methode:

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

Bei diesem Ansatz wird die Datei Zeile für Zeile durchlaufen und für jede gefundene Zeile ein Zähler erhöht. Da der Generatorausdruck jeweils nur eine Zeile liefert, wird ein übermäßiger Speicherverbrauch vermieden.

Leistungssteigerung mit gepuffertem Lesen

Um die Geschwindigkeit und Robustheit weiter zu verbessern, nutzen Sie gepuffert Lesen wird empfohlen:

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

Gepuffertes Lesen optimiert den Dateizugriff, indem Daten in größeren Blöcken abgerufen werden, wodurch der Overhead wiederholter Dateien reduziert wird Operationen. Bitte beachten Sie jedoch, dass das „U“-Zeichen im „rbU“-Modus seit Python 3.3 veraltet ist, daher sollte stattdessen „rb“ verwendet werden (entfernt in Python 3.11).

Durch den Einsatz dieser Techniken können Sie effizient arbeiten Zählen Sie Zeilen in großen Dateien und sparen Sie gleichzeitig Speicher und minimieren Sie die Ausführungszeit.

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