是否可以在 Spyder 变量资源管理器中查看除 Global
之外的命名空间?我想清理我的代码以将内容放入 main() 中,但在开发的这个阶段我仍然需要查看变量内容。
编辑:假设我的脚本当前仅包含:
a = 2
b = 4
c = a + b
我在 Spyder 中运行它,我可以在运行后使用变量资源管理器来查看 a
、b
和 c
。现在,如果我将其包装在 main() 中,按照不太糟糕的编码实践:
def main():
a = 2
b = 4
c = a + b
现在我无法再在变量资源管理器中查看运行后的它们。 (评论建议设置一个断点,但这用于实时连接仪器,因此我无法暂停执行)。/结束编辑。
我唯一的选择是(1)将代码保留为我需要在函数外部查看的变量,还是(2)将我想要检查的变量从 main() 导出到全局命名空间中?这两种解决方案都让我以后要做/撤消一些事情。
最佳答案
抱歉,目前 Spyder 无法实现此操作。这是您可以做的最接近您想要的结果的事情:
import inspect
local_vars = {}
def main():
global local_vars
a = 2
b = 4
c = a+b
local_vars = inspect.currentframe().f_locals
return c
main()
运行后,您应该看到 local_vars
字典包含在 main
函数中定义的局部变量。
注意:双击 local_vars
内容后,Spyder 将打开一个新窗口,该窗口基本上等同于我们的变量资源管理器中显示的 View ,但仅包含您的局部变量。
关于python - 使用 Spyder (Python) 中的变量资源管理器查看其他命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21320061/