def foo():
a = 1
b = 2
dir() # prints [a, b]
bar(?)
der bar(foo_pointer):
print dir(foo_pointer) # should print [a,b]
我试图使用bar(sys.modules[__name__].main)
,但这并没有给出[a,b]
, but ['__call__','__class__' ...]
没有a
and b
.
我实际上想保护该指针以供以后使用,所以我不能只传递[a,b]
.
Use the sys._getframe()功能访问调用框架。框架对象有一个f_locals
属性使您可以访问该框架的局部变量:
import sys
def bar():
caller = sys._getframe(1)
print caller.f_locals
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)