如何使用Python实现计算对象的内存大小

  介绍

这篇文章主要介绍了如何使用Python实现计算对象的内存大小,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

具体如下:

一般的sys.getsizeof()显示不了复杂的字典。

查看类中的内容:

def 转储(obj):   ,for  attr 拷贝dir (obj): # dir显示类的所有方法   打印才能(“,对象% s =, % r", %, (attr,, getattr (obj, attr)))

这里用递归调用所有对象的getsizeof:

def  get_size (obj,,=None):   ,#得到https://goshippo.com/blog/measure-real-size-any-python-object/,# Recursively  finds  size  of 对象=,,size  sys.getsizeof (obj)   ,if  seen  is 没有:   seen =,才能设置()=,obj_id  id (obj)   ,if  obj_id 看到拷贝:   ,return  0   #,Important  mark  as  seen  * *之前,entering  recursion 用gracefully 处理   ,# self-referential 对象   ,seen.add (obj_id)   ,if  isinstance (obj, dict类型):   size 才能+=,总和([get_size (v),见过),for  v 拷贝obj.values ()))   size 才能+=,总和([get_size (k,见过),for  k 拷贝obj.keys ()))   ,elif  hasattr (obj, & # 39; __dict__& # 39;):   size 才能+=,get_size (obj.__dict__,,)   ,elif  hasattr (obj, & # 39; __iter__& # 39;),以及not  isinstance (obj,, (str,字节,,中bytearray)):   size 才能+=,总和([get_size(我,,看到),for 小姐:拷贝obj))   ,return 大小

感谢你能够认真阅读完这篇文章,希望小编分享的“如何使用Python实现计算对象的内存大小”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

如何使用Python实现计算对象的内存大小