gpt4 book ai didi

python - 如何从 PDB 导出变量?

转载 作者:太空狗 更新时间:2023-10-29 20:39:53 26 4
gpt4 key购买 nike

想象以下场景:脚本从 IPython shell 启动,并在断点处调用 python 调试器。此时可以使用 PDB 命令分析代码和变量。但通常情况下,变量的值需要更深入的研究。

是否可以将变量的值导出到 IPython shell?

我的具体用例:我与一个似乎没有正确值的相当大的 numpy 数组作斗争。我知道我可以从 python 调试器运行任何 python 命令,但是将变量的值保存在不同的断点并在 IPython shell 中使用它们会很有帮助。我正在想象类似的东西

ipdb> global var1; var1 = var
ipdb> continue
...
ipdb> global var2; var2 = var
ipdb> continue
...
In [2]: abs(var1 - var2) # do some interesting calculations with IPython

最佳答案

你可以使用 globals():

ipdb>__name__
'my_module'
ipdb> get_var = 'a value'
ipdb> globals()['myvar'] = get_var
ipdb> q
In [11]: my_module.myvar
Out[11]: 'a value'

假设断点设置在 my_module.py 中,因此我们正在编辑模块 my_module 的全局变量。

关于python - 如何从 PDB 导出变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14859282/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com