加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何在python中获取当前作用域

发布时间:2020-12-20 12:29:05 所属栏目:Python 来源:网络整理
导读:是否有任何参考指向当前范围,我查找了很多文章,但找不到答案,例如我想在当前范围内打印每个var的内容 for x in list(locals()): print(x) 但只给我这个,var的名字 __builtins____file____package____cached____name____doc__ 我不想要这样的代码 print(__bui
是否有任何参考指向当前范围,我查找了很多文章,但找不到答案,例如我想在当前范围内打印每个var的内容

for x in list(locals()):
    print(x)

但只给我这个,var的名字

__builtins__
__file__
__package__
__cached__
__name__
__doc__

我不想要这样的代码

print(__builtins__)
print(__file__)
print(__package__)
print(__cached__)
print(__name__)
print(__doc__)
....

解决方法

大规模的过度杀伤…在函数中包装过滤和打印本地命名空间.

我不推荐这个.我发布它主要是为了表明它可以完成并获得评论.

import inspect

def print_local_namespace():
    ns = inspect.stack()[1][0].f_locals
    for k,v in ns.iteritems():
        if not k.startswith('__'):
            print '{0} : {1}'.format(k,v)


def test(a,b):
    c = 'Freely'
    print_local_namespace()
    return a + b + c


test('I','P')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读