如何在调试时调用Python列表?

Thi*_*Lam 57 python debugging

我有以下python代码:

values = set([1, 2, 3, 4, 5])
import pdb
pdb.set_trace()
Run Code Online (Sandbox Code Playgroud)

我运行脚本,我在调试shell中:

(pdb) list(values)
*** Error in argument: '(values)'
(Pdb)
Run Code Online (Sandbox Code Playgroud)

如何list(values)在不调用调试器自己的list命令的情况下调用调试器?

Fre*_*Foo 62

就是print这样:

(Pdb) print list(values)
Run Code Online (Sandbox Code Playgroud)

不要为python3版本添加括号

(Pdb) print(list(values))
Run Code Online (Sandbox Code Playgroud)

  • 输入'p`和`pp`更短=) (4认同)
  • p:print,pp:prettyprint (4认同)

elm*_*tec 47

使用感叹号!转义调试器命令:

(Pdb) values = set([1, 2, 3, 4, 5])
(Pdb) list(values)
*** Error in argument: '(values)'
(Pdb) !list(values)
[1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

  • 这应该是公认的答案,因为它允许我在调试时实际使用该列表 (3认同)