Seite 1 von 1

Wie Groesse eines Ordners feststellen?

Verfasst: Dienstag 24. Oktober 2006, 15:44
von bennym
Hallo!
Ich schreib grad ein script, dass den MP3 player unter linux mit musik versorgt.
Wie kann ich rausfinden, ob ein Ordner mehr als 512MB/... Speicher verbraucht, sodass dann der kopiervorgang abbricht?

mfg benny

Verfasst: Dienstag 24. Oktober 2006, 16:07
von rayo
Du musst alle Dateigrössen im Ordner zusammenzählen.

Einen anderen weg wüsste ich jetzt nicht direkt.

Gruss

Verfasst: Dienstag 24. Oktober 2006, 19:22
von bennym
so?
if os.path.getsize(tempdir + up_file)>10485760L:
response.write("Die Datei ist groeßer als 10 MB.")
raise spyceDone
Ich habs aus http://www.python-forum.de/topic-3559.html
Wie pass ich das jetzt an?
In dem Thread wird ja irgendwie gesagt dass dieser part fehler enthaelt.


mfg benny

Verfasst: Dienstag 24. Oktober 2006, 19:31
von birkenfeld
Du kannst auch einfach du via subprocess aufrufen und den output auslesen.

Verfasst: Mittwoch 25. Oktober 2006, 08:37
von Rebecca
Wie waere es mit dieser Funktion?

Code: Alles auswählen

def get_dir_size(dirname):
    """ Size of a directory. """
    
    size = 0;

    for (dirpath, dirnames, filenames) in os.walk(dirname):
        size += os.path.getsize(dirpath);
        for ffile in filenames:
            size += os.path.getsize(os.path.join(dirpath, ffile))

    return size
Im Gegensatz zu du werden hier aber bei symbolischen Links die Dateigroessen der verlinkten Dateien gezaehlt, nicht die der Links selbst. Hardlinks habe ich nicht getestet.

Verfasst: Mittwoch 25. Oktober 2006, 18:28
von bennym
Geil !!! :D Danke!!!

Verfasst: Mittwoch 25. Oktober 2006, 18:37
von rayo
Hi

Rebecca, warum machst du noch ein getsize vom Verzeichnis? Gibt das mal auch nicht 0 zurück?

Gruss

Verfasst: Mittwoch 25. Oktober 2006, 19:21
von Rebecca
Bei mir (Linux) gibt das immer etwas ungleich null zurueck. Das ist die Groesse des Verzeichnisses (nicht des Verzeichnisinhalts). Ein Verzeichnis ist unter Linux ja in Wesentlichen auch nur eine Datei, in der drinsteht, welche Dateien in dem Verzeichnis drin sind.

Unter was fuer einem Betriebssystem hast du es ausprobiert?

Verfasst: Donnerstag 26. Oktober 2006, 05:36
von rayo
Hi

Unter WinXP :)

Gruss