如何使用pythonspdb检查对象中包含的内容?为了在文件顶部说明,我使用了
from nose.tools import set_trace
那么在我内心的某个地方
set_trace() result = some_function(request.common[some_argument)
然后使用
nosetests mycode.py
我如何检查变量,以及结果中包含的值。当然,我不想深入研究some_function。谢谢你的回答
some_function
mfpqipee1#
我不熟悉nose.tools,但它似乎至少足以为您启动跟踪和断点,尽管我认为在Python中(至少在2023年)通常会这样导入
nose.tools
import pdb; pdb.set_trace()
直接在代码中的任何地方初始化第一个断点。一旦你的断点被捕获,你就可以通过命令行与PDB交互了(一旦提示符看起来像(Pdb)),你就可以开始执行命令了。完整的列表可以在官方文档https://docs.python.org/3/library/pdb.html中找到,但是我发现我自己经常使用的是
(Pdb)
l - show the surrounding lines of code so you know where you are ll - show a ton of the surrounding lines of code n - proceed to the next line s - enter the function you are currently on with the cursor
如果你想检查一个实际变量,你可以只输入它的名字,所以在你的情况下,你可以只输入
result
或
pp dir(result)
如果它是一个你想看到其属性的对象,你很可能会得到里面的值!
1条答案
按热度按时间mfpqipee1#
我不熟悉
nose.tools
,但它似乎至少足以为您启动跟踪和断点,尽管我认为在Python中(至少在2023年)通常会这样导入直接在代码中的任何地方初始化第一个断点。
一旦你的断点被捕获,你就可以通过命令行与PDB交互了(一旦提示符看起来像
(Pdb)
),你就可以开始执行命令了。完整的列表可以在官方文档https://docs.python.org/3/library/pdb.html中找到,但是我发现我自己经常使用的是如果你想检查一个实际变量,你可以只输入它的名字,所以在你的情况下,你可以只输入
或
如果它是一个你想看到其属性的对象,你很可能会得到里面的值!