我发现自己在pdb中经常这样做:
import pprint
pprint.PrettyPrinter().pprint(variable_of_interest)
有没有更好的方法来从pdb中美化打印变量?我正在寻找一些更容易输入的东西,最好是随时可以在pdb中使用的内容,这样我就可以在调试任何时间使用它了。
正如 @enrico.bacis 所提到的,在使用 pdb 时可以使用 pp
进行漂亮打印。
(Pdb) pp your_var
(Pdb)$ import pprint
# then you can pretty print your variables.
(Pdb)$ pp( locals() )
(Pdb)$ pp(request.data)
同时,我建议使用新的 pdb 替代方式 breakpoint()
,这样你就不必在任何开发环境源代码中导入 pdb 包。它也比 pdb.set_trace()
更容易输入。
这是我的做法:
import pdb
import pprint
"""
Debugging views
pdb.set_trace()
With pretty-print
pp(my_var)
"""
def my_view(request):
pdb.set_trace()
# rest of view
然后在调试器中:
> (Pdb) pp(my_var)
虽然,我想知道如何编辑pdb设置来将p
更改为pp
pdb
中的pp
。 - Trevor Boyd Smith