Anzahl der Zeilen in einer Datei in Python ermitteln

Syed Moiz Haider 30 Januar 2023
  1. Anzahl der Zeilen in einer Datei in Python mit den Funktionen open() und sum() ermitteln
  2. Anzahl der Zeilen in einer Datei in Python mit der Methode mmap.mmap() ermitteln
  3. Anzahl der Zeilen in einer Datei in Python mit der Methode file.read() ermitteln
Anzahl der Zeilen in einer Datei in Python ermitteln

In diesem Tutorial werden verschiedene Methoden demonstriert, um die Gesamtzahl der Zeilen in einer Datei in Python zu ermitteln. Um die Gesamtzahl der Zeilen einer Datei zu ermitteln, müssen wir zunächst die Daten der Datei in einem Puffer lesen. Dazu können wir entweder die komplette Datei auf einmal laden oder die Daten in kleinen Stücken lesen, wenn die Datei sehr groß ist.

Wir werden uns ansehen, wie wir beide Ansätze mit verschiedenen Methoden in Python umsetzen können, die im Folgenden mit Beispielcode erläutert werden:

Anzahl der Zeilen in einer Datei in Python mit den Funktionen open() und sum() ermitteln

Eine einfache Möglichkeit, die Anzahl der Zeilen in einer Datei zu ermitteln, besteht darin, durch jede Zeile des von der Funktion open() zurückgegebenen Dateiobjekts zu iterieren.

Die Funktion open(file, mode) nimmt file als Eingabe und gibt ein Dateiobjekt als Ausgabe zurück. Eine file ist ein pfadähnliches Objekt, das eine Zeichenkette oder ein Byte-Objekt sein kann und den Dateipfad enthält. Der mode repräsentiert den Modus, in dem die Datei geöffnet werden soll, wie z. B. Lese-, Schreib-, Anfügemodus, usw.

Der folgende Beispielcode zeigt, wie man die for-Schleife verwendet, um die Anzahl der Zeilen in einer Datei in Python zu ermitteln.

with open("myFolder/myfile.txt") as myfile:
    total_lines = sum(1 for line in myfile)

print(total_lines)

Anzahl der Zeilen in einer Datei in Python mit der Methode mmap.mmap() ermitteln

Die Methode mmap.mmap(fileno, length) bildet die Anzahl der Bytes length aus der durch fileno angegebenen Datei ab und gibt ein mmap-Objekt zurück. Wenn der Wert von length 0 ist, ist die maximale Länge der Abbildung gleich der Dateigröße.

Wir können das mmap-Objekt, das von der Methode mmap.mmap() zurückgegeben wird, verwenden und dann mit der Methode mm.readline() auf die Zeilen zugreifen, bis wir das Ende der Datei erreichen. Da wir die komplette Datei laden wollen, übergeben wir 0 als Argument length.

Beispielcode:

import mmap

with open("myFolder/myfile.txt", "r+") as myfile:
    mm = mmap.mmap(myfile.fileno(), 0)
    total_lines = 0

    while mm.readline():
        total_lines += 1

print(total_lines)

Anzahl der Zeilen in einer Datei in Python mit der Methode file.read() ermitteln

Wenn die Datei sehr groß ist und wir einen schnellen Weg brauchen, um die Datei in kleinen Stücken zu lesen, können wir die Methode file.read() verwenden, um die Daten als Byte-Array in einen Puffer mit der angegebenen Größe zu lesen.

Der folgende Beispielcode zeigt, wie die Dateidaten mit der Methode file.read() in einen Puffer gelesen werden und dann durch ihn iteriert wird, um die Anzahl der Zeilen zu ermitteln:

lines = 0
size = 1024 * 1024

with open(r"C:\test\file.txt", "r+") as myfile:
    read_file = myfile.read

    buffer = read_file(size)

    while buffer:
        lines += buffer.count("\n")
        buffer = read_file(size)

if lines != 0:
    lines += 1

print(lines)
Syed Moiz Haider avatar Syed Moiz Haider avatar

Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.

LinkedIn

Verwandter Artikel - Python File