通过gc.get_objects()检查当前运行的各对象数量

stats = []
objects = gc.get_objects()

objects_temp = objects[100:120]
print('objects:', objects_temp)

run_objects = {}
run_others = {}
for o in objects:
    if hasattr(o, '__class__'):
        key = str(o.__class__)
        run_list = run_objects
    else:
        key = type(o)
        run_list = run_others

    if key in run_list:
        run_list[key] += 1
    else:
        run_list[key] = 1

for obj in run_objects:
    print('object', run_objects[obj], obj)
    stats.append([run_objects[obj], obj])

for obj in run_others:
    print('none object', run_others[obj], obj)
    stats.append([run_others[obj], obj])

"""
('object', 4, "<type 'zipimporter'>")
('object', 1, "<type 'NotImplemented'>")
('object', 1, "<class 'float_info'>")
('object', 3, "<class 'site._Printer'>")
('object', 5, "<type 'frame'>")
('object', 64, "<type 'weakref'>")
('object', 109, "<type 'set'>")
('object', 2583, "<type 'builtin-code'>")
('object', 6, "<type 'SRE_Pattern'>")
('object', 48, "<class '_weakrefset.WeakSet'>")
('object', 1361, "<type 'tuple'>")
('object', 25, "<type 'classmethod'>")
('object', 18, "<type 'method'>")
"""

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值