Heim  >  Artikel  >  Backend-Entwicklung  >  Wie berechnet man die Verzeichnisgröße in Python effizient?

Wie berechnet man die Verzeichnisgröße in Python effizient?

Susan Sarandon
Susan SarandonOriginal
2024-11-01 14:50:28276Durchsuche

How to Efficiently Calculate Directory Size in Python?

Verzeichnisgrößenberechnung mit Python steuern

Um die Speicherplatzbelegung eines Verzeichnisses zu messen, bietet Python mehrere Ansätze. Im Folgenden befassen wir uns mit einer effizienten und umfassenden Lösung:

<code class="python">import os

def directory_size(start_path):
    total_size = 0

    for root, directories, files in os.walk(start_path):
        for file in files:
            file_path = os.path.join(root, file)
            if not os.path.islink(file_path):
                total_size += os.path.getsize(file_path)

    return total_size</code>

Vorteile dieser Lösung:

  • Durchläuft alle Unterverzeichnisse rekursiv und gewährleistet so eine umfassende Größenberechnung.
  • Ausgeschlossen Symbolische Links, die auf Dateien außerhalb des Verzeichnisses verweisen können.
  • Berechnet die Größe in Bytes, der grundlegenden Speichereinheit.

Zusätzliche Überlegungen:

  • Um die Größe in Megabyte (MB) oder Gigabyte (GB) zu formatieren, verwenden Sie „round(total_size / 1024 ** 2, 2)“ für MB oder „round(total_size / 1024 ** 3, 2)“ für GB.
  • Um versteckte Dateien auszuschließen, fügen Sie if file[0] != '.' vor total_size = os.path.getsize(file_path) innerhalb der Schleife.

Das obige ist der detaillierte Inhalt vonWie berechnet man die Verzeichnisgröße in Python effizient?. 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