Ich war für eine einfache Möglichkeit suchen Bytes Größe von Arrays und Wörterbücher zu wissen Objekt, wieWie kann man die Größe eines Python-Objekts wie Arrays und Wörterbücher verstehen? - Der einfache Weg
[ [1,2,3], [4,5,6] ] or { 1:{2:2} }
Viele Themen sagen pylab zu verwenden, zum Beispiel:
from pylab import *
A = array([ [1,2,3], [4,5,6] ])
A.nbytes
24
Aber, Was ist mit Wörterbüchern? Ich sah viele Antworten, die vorschlugen, pysize oder heapy zu verwenden. Eine einfache Antwort gibt Torsten Marek in diesem Link: Which Python memory profiler is recommended?, aber ich habe keine klare Interpretation der Ausgabe, weil die Anzahl der Bytes nicht übereinstimmte.
Pysize scheint komplizierter zu sein und ich habe keine klare Vorstellung davon, wie man es noch benutzt.
Angesichts der Einfachheit der Größenberechnung, die ich durchführen möchte (keine Klassen oder komplexe Strukturen), irgendeine Idee über eine einfache Möglichkeit, eine ungefähre Schätzung der Speichernutzung dieser Art von Objekten zu erhalten?
Mit freundlichen Grüßen.
Ich versuchte es so, aber wenn Sie versuchen, Größe einer Liste von Listen zu erhalten, erhalten Sie nur die übergeordnete Listengröße und nicht die Summe mit den verschachtelten Listen. Ich weiß nicht, ob ich Code für die Rekursion schreibe, ich bekomme die tatsächliche Speichernutzung. – crandrades
@ user1847706 am Ende des Eintrags, zu dem ich Sie in den Dokumenten verlinkt habe, gibt es [Siehe rekursive sizeof recipe für ein Beispiel für die rekursive Verwendung von gotsizeof(), um die Größe von Containern und ihren gesamten Inhalt zu finden.] (Http: // code .activestate.com/recipes/577504 /) –
Danke für Ihre Antwort. Jetzt versuche ich einen Handler hinzuzufügen, um die Speicherauslastung für eine benutzerdefinierte Klasse zu berechnen. – crandrades