[英]python get current variables of the caller function
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]
,而是['__call__','__class__' ...]
而没有a
和b
。
我实际上想要保护指针稍后使用,所以我不能只传递[a,b]
。
使用sys._getframe()
函数可以访问调用帧。 Frame对象具有f_locals
属性,使您可以访问该帧的局部变量:
import sys
def bar():
caller = sys._getframe(1)
print caller.f_locals
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.