Größe eines Ordners anzeigen lassen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
vorstadtprolo
User
Beiträge: 9
Registriert: Mittwoch 30. Dezember 2009, 09:26

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
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

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.
Zuletzt geändert von snafu am Mittwoch 6. Januar 2010, 11:43, insgesamt 2-mal geändert.
problembär

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

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