有时当我使用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>>
方法都要求目标是打开的文件,而不是文件名为的字符串