den verwendeten Speicherplatz auslesen

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
TheFirstLaie
User
Beiträge: 7
Registriert: Freitag 26. Juni 2020, 16:20

Moin leute,

ich möchte den verwendeten Speicherplatz auslesen, jedoch habe ich es bisher noch nicht verstanden.
Bisher habe ich das:

Code: Alles auswählen

Speicher = shutil.disk_usage(os.getcwd())
Ich möchte aber wirklich nur den verwendeten Speicher haben, brauche ich dafür ein anderes Modul? Stehe etwas aufm Schlauch, würde mich über Tipps freuen :)


Mit freundlichem Gruß
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

Das liefert doch die Funktion. Dass da noch mehr geliefert wird, sollte doch nicht stören.
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

@TheFirstLaie: Du solltest anfangen die Dokumentation zu lesen. Dort ist jede Funktion entsprechend dokumentiert. shutil.disk_usage(path) ist hier zu finden. Die Autoren waren so nett dort zu beschreiben, was "disk_usage" zurück liefert und haben die Dokumentation zu dem Typ der Rückgabe - nämlich ein named tuple - sogar direkt verlinkt.
Zuletzt geändert von sparrow am Samstag 27. Juni 2020, 16:10, insgesamt 1-mal geändert.
TheFirstLaie
User
Beiträge: 7
Registriert: Freitag 26. Juni 2020, 16:20

Danke

Code: Alles auswählen

Speicher = shutil.disk_usage(os.getcwd())[1]
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

@TheFirstLaie: sparrow hat ja schon geschrieben, dass ein namedtuple zurückgegeben wird. Magische Indexwerte sollte man nicht verwenden.

Code: Alles auswählen

speicherverbrauch = shutil.disk_usage(".").used
Variablennamen werden komplett klein geschrieben.
TheFirstLaie
User
Beiträge: 7
Registriert: Freitag 26. Juni 2020, 16:20

Danke für deine hilfe :) Kannst du mir erklären warum deine Lösung die bessere ist verstehe ich noch nicht ganz. Also klar es ist naheliegend es zu machen wie du aber ist es auch ein "muss"?
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

Weil man durch lesen versteht, was da passiert. used = benutzt. Man schaut sich die Zeile an und weiß: Alles klar, die Funktion heißt "disk_usage" und der wert "used" wird abgefragt. Dann ist das wohl der belegte Speicherplatz.

Wenn da [1] steht, dann weiß man... dass man in der Dokumentation umständlich nachschauen muss.
TheFirstLaie
User
Beiträge: 7
Registriert: Freitag 26. Juni 2020, 16:20

Ach ok also der einfachheit wegen, du hast os.getcwd() rausgeschmissen, hat das einen bestimmten Grund?

Danke für deine Hilfe ich finde halt die docs wirklich gut aber meinchmal dauerts da einfach bis es klickt...
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

Weil . bei Verzeichnen allgemein für das aktuelle Verzeichnis steht, bei getcwd muss man mehr lesen.
Benutzeravatar
__blackjack__
User
Beiträge: 14052
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Wobei das nicht so wirklich gut ist wenn man an anderer Stelle den Leuten sagt sie sollen nicht "/" oder "\\" als Pfadtrenner verwenden. "." wäre dann eher `os.curdir`.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
TheFirstLaie
User
Beiträge: 7
Registriert: Freitag 26. Juni 2020, 16:20

Ok ich danke euch für die Mühen hat mir weiter geholfen :)
Antworten