我的范围有问题。我想让一个函数对内置函数的结果进行操作dir()
。所以,作为一个简单的例子,我想
>>> print (dir())
>>> .... bunch of stuff ...
但是,我想定义一个对 dir() 的结果进行操作的函数。但是,如果这样尝试
>>> def print_dir(dummy_var=None):
print dir()
>>> print_dir()
>>> ['dummy_var']
我无法访问所谓的命名空间print_dir
,我理解这是一个范围事物并且有意义,但是有没有办法访问调用函数的命名空间?还是我必须将 dir() 的结果传递给函数?像。
>>> act_on_namespace(dir())
心中的具体目标是这样的,
def act_on_namespace()
for k in dir():
try:
print(eval(k).__module__)
except:
pass