【问题标题】:How do I list all the attributes of an object in python pdb?如何在 python pdb 中列出对象的所有属性?
【发布时间】:2011-10-26 16:39:47
【问题描述】:

我尝试在 Python pdb 中列出对象的所有属性。

假设我想列出sys.stderr的所有属性和所有方法。

我该怎么做?

【问题讨论】:

    标签: python debugging pdb


    【解决方案1】:

    对于pdb,你应该可以做到p dir(a)

    【讨论】:

    • 我在 pdb 中不起作用,它在 python shell 中起作用,但在 pdb 中不起作用。
    • 在我的情况下,我尝试在sys.stdout 上运行它,如果失败并出现file 对象的异常。
    • 有没有办法在一列中列出所有内容?有点像 bash 中的 ls -lls -1
    • @hobbes3 那将是pp dir(a)
    • @vxsx 你不需要为此导入 pprint 吗? docs.python.org/2/library/pprint.html
    【解决方案2】:

    如果 a 是您的对象,请使用 dir(a) 获取其符号列表。有关详细信息,请参阅有关 dir 函数的文档。

    【讨论】:

    • print dir(a)dir(a)my pdb 中工作。你用的是什么版本的 Python?
    • 问题已经解决,但我在 Windows 上使用 Python 2.5。也许在较新的版本上默认打印工作。
    【解决方案3】:

    print dir(object_name)会为你列出对象的所有属性。

    【讨论】:

      【解决方案4】:

      pdb 就像一个 python shell,你在 pdb 中可以做的就是你在 Python 中可以做的(除了一些非常奇特的东西)

      你可以设置变量,调用函数,...

      dirright function to call。它应该适用于任何对象,因为它可以默认为内置或被实现,但我确实看到了它失败的对象。我想这与“旧”python 代码有关(在我失败的情况下:suds 库)

      通常__dict__ 对 pdb 调试器也有帮助

      【讨论】:

        猜你喜欢
        • 2011-11-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-21
        • 2019-09-05
        • 2018-04-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多