python类getobjects()的实例源码

commontest.py 文件源码 项目:rdiff-backup 作者: sol1 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def getrefs(i, depth):
    """Get the i'th object in memory, return objects that reference it"""
    import sys, gc, types
    o = sys.getobjects(i)[-1]
    for d in range(depth):
        for ref in gc.get_referrers(o):
            if type(ref) in (types.ListType, types.DictType,
                                types.InstanceType):
                if type(ref) is types.DictType and ref.has_key('copyright'):
                    continue
                o = ref
                break
        else:
            print "Max depth ", d
            return o
    return o


问题


面经


文章

微信
公众号

扫码关注公众号