在pdb中打印值
当我追踪到一个函数时,我想在这个函数里面打印那些以“__”开头的变量的值,比如 p __seqLen
。可是它总是显示 AttributeError: AttributeError("Converter instance has no attribute '__seqLen'",)
。我也试着用 p self.__seqLen
,但这也不行。我该怎么打印这些值呢?
2 个回答
7
你可能遇到了Python的私有名称改名规则。在Python中,如果一个名字是以两个或更多的下划线开头,并且不以两个或更多的下划线结尾,Python会对这个名字进行改名。比如说,它会把__somename
改成_Class__somename
。
11
p locals()
p globals()
可能会有帮助。