Seite 1 von 1

Größe eines Ordners anzeigen lassen

Verfasst: Mittwoch 6. Januar 2010, 09:45
von vorstadtprolo
Hallo,

ich will mir anzeigen lassen, wie groß ein bestimmter Ordner ist. Einen speziellen Befehl dafür hab ich bisher nicht gefunden.

So hab ich einfach mit os.listdir eine Liste erstellen lassen von allen Dateien, die sich darin befinden, über os.stat die Größe der Datei anzeigen lassen und zum Schluß alle Größen aufaddiert, um die Ordnergröße zu ermitteln.

Gibt es ein Modul oder etwas anderes, um das einfacher zu lösen?

Gruß

Vorstadtprolo

Verfasst: Mittwoch 6. Januar 2010, 09:53
von snafu
Wenn du wirklich rekursiv vorgehen willst, sollte übrigens `os.walk()` deine Wahl sein.

Ein Beispiel:

Code: Alles auswählen

def sizewalk(folder='.', sizeonly=False):
    for root, _, filenames in os.walk(folder):
        for filename in filenames:
            path = os.path.join(root, filename)
            size = os.path.getsize(path)
            if sizeonly:
                yield size
            else:
                yield path, size
Ein `sum(sizewalk(ordner, sizeonly=True))` würde jetzt zum gewünschten Ergebnis führen.

Verfasst: Mittwoch 6. Januar 2010, 10:45
von problembär
Gibt es ein Modul oder etwas anderes, um das einfacher zu lösen?
unter Linux ...

http://www.manpagez.com/man/1/du/