检查python调试器中的复杂变量,如pudb

检查python调试器中的复杂变量,如pudb,python,debugging,pudb,Python,Debugging,Pudb,如何使用python调试器检查复杂变量(list、dict、object)的值,我是python新手,我尝试了pudb,看起来当变量类型为复杂类型时,调试器只显示变量的类型,而不显示值 是否可以使用pudb检查值?或者有其他python调试器可以做到这一点吗?序列类型的print语句在pdb子控制台(如bellow)中相当有效 >>> import pdb >>> l=[9,0] >>> def j():l=[1,2,3] ... >

如何使用python调试器检查复杂变量(list、dict、object)的值,我是python新手,我尝试了pudb,看起来当变量类型为复杂类型时,调试器只显示变量的类型,而不显示值


是否可以使用pudb检查值?或者有其他python调试器可以做到这一点吗?

序列类型的print语句在pdb子控制台(如bellow)中相当有效

>>> import pdb
>>> l=[9,0]
>>> def j():l=[1,2,3]
... 
>>> pdb.run('j()')
> <string>(1)<module>()
(Pdb) continue
>>> pdb.run('j()')
> <string>(1)<module>()
(Pdb) print l
[1, 2, 3]
导入pdb >>>l=[9,0] >>>def j():l=[1,2,3] ... >>>pdb.run('j()')) > (1)() (Pdb)继续 >>>pdb.run('j()')) > (1)() (Pdb)打印l [1, 2, 3]
一些print obj.name语句在这里也适用于对象的属性访问。

要查看pudb中复杂数据类型的内容:

  • 使用向右箭头将光标移动到右侧的变量框

  • 使用上下箭头将光标移动到您感兴趣的变量

  • 使用反斜杠“\”显示/隐藏数据结构的内容


  • 您只需按“!”键即可访问python/ipython shell。然后,您可以随意使用变量(查看、更改变量等)。

    要显示变量列表上所有变量的内容,默认情况下,您可以按Ctrl+p转到首选项,并在变量字符串生成器下选择str()或repr()以显示类似Python解释器的变量

    否则,您可以在变量列表(可通过右箭头键盘键访问)中切换所选变量,方法是按s或r for str()和repr()以及t返回显示其类型。通过设置一个变量来显示其类型,您可以按顺序树的方式展开其内容,键入“\”(反斜杠)


    如果您的变量是全局变量,或者由于某种原因您没有看到它,那么您必须通过点击n显式声明您希望查看它,然后键入它的名称

    使用普通的pdb,您应该能够
    p my\u var。无论什么
    becos\都是最明显的、面向用户体验的、直观的方法……说真的,有一个像样的python调试器吗?