python - 使用 Spyder (Python) 中的变量资源管理器查看其他命名空间

标签 python debugging namespaces scientific-computing spyder

是否可以在 Spyder 变量资源管理器中查看除 Global 之外的命名空间?我想清理我的代码以将内容放入 main() 中,但在开发的这个阶段我仍然需要查看变量内容。

编辑:假设我的脚本当前仅包含:

a = 2
b = 4
c = a + b

我在 Spyder 中运行它,我可以在运行后使用变量资源管理器来查看 abc。现在,如果我将其包装在 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/

相关文章:

asp.net - 如何从头开始为 Asp.Net 应用程序设置远程调试

android - 如何让 x10 mini 出现在 osx 上的 adb devices 中?

c# - 为整个项目全局命名空间别名

python - bs4 文档有什么问题?我无法运行 unwrap() 示例代码

python - 是否有比 np.where 更快的替代方案来确定索引?

python - 为字母分配数值的更快方法?

python - 如何在 pandas 数据框中小写子字符串?

android - 为什么 Android Debug模式会删除我的应用程序首选项?

namespaces - Julia 中的命名空间冲突

xml - xslt-单独替换 namespace uri