在pdb中调试python时,如何将输出打印到文件中



有时当我使用pdb时,我想将输出保存到一个文件pdbSaves.txt中。例如,我想做一些类似pp locals() >> pdbSaves.txt的事情,它实际上提供了*** NameError: name 'pdbSaves' is not defined。正确的方法是什么?

在Python 3中>gt"符号不再与常规的";打印";用于重定向输出。

我以前从未在PDB内部使用过它,但当然,对它的支持同时也被删除了。

您所要做的是使用新的打印函数使用常规的输出方式进行归档,或者,如果您想进行漂亮的打印(pp可以这样做(,使用pprint.pprint函数。

(Pdb) from pprint import pprint as ppr
(Pdb) file = open("x.txt", "wt")
(Pdb) ppr("mystuff", stream=file)

或者,对于常规打印,输出文件的参数名称是file而不是stream(优点是不需要导入语句(:

(Pdb) print ("mystuff", file=file)

此外,这些方法和Python2>>方法都要求目标是打开的文件,而不是文件名为的字符串

最新更新