我想从Python的被调用函数中检索局部变量。有办法吗?我意识到这不适合大多数编程,但我基本上是在构建一个调试器。例如:
def show_locals():
# put something in here that shows local_1.
local_1 = 123
show_locals() # I want this to show local_1.
我在show_locals
的主体中放了什么?如果我必须修改调用语句,我能做的最小修改是什么?
注意:当show_locals
与调用者在不同的模块中时,这必须有效。
Tags:
如果要编写调试器,则需要大量使用^{} 模块:
使用python内置,dir()或vars():
变量(对象)
有关使用dir()的示例,请参见:this post
使用vars的示例:
一个潜在的问题是:新样式的类不会返回相同的结果
另外:对于一个实例化的类(新的和旧的样式),如果在实例化后添加一个变量,vars将返回对象的dict,如下所示:
见:http://docs.python.org/library/functions.html#vars
相关问题 更多 >
编程相关推荐