Prettyprint到文件?

时间:2013-06-24 16:36:38

标签: python hash dictionary tree pretty-print

我正在使用这个gist's树,现在我正在试图找出如何对文件进行漂亮打印。有什么提示吗?

4 个答案:

答案 0 :(得分:50)

您需要的是Pretty Print pprint模块:

from pprint import pprint

# Build the tree somehow

with open('output.txt', 'wt') as out:
    pprint(myTree, stream=out)

答案 1 :(得分:0)

如果我理解正确,您只需要将文件提供给pprint上的stream关键字:

with open(outputfilename,'w') as fout:
    pprint(tree,stream=fout,**other_kwargs)

答案 2 :(得分:0)

另一种通用替代方法是Pretty Print的pformat()方法,该方法创建一个漂亮的字符串。然后,您可以将其发送到文件中。例如:

import pprint
data = dict(a=1, b=2)
output_s = pprint.pformat(data)
#          ^^^^^^^^^^^^^^^
open('output.txt', 'w').write(output_s)

答案 3 :(得分:0)

import pprint
outf = open("./file_out.txt", "w")
PP = pprint.PrettyPrinter(indent=4,stream=outf)
d = {'a':1, 'b':2}
PP.pprint(d)
outf.close()

在 Python 3.9 中,如果没有此语法,则无法在接受的答案中获取 stream= 以工作。因此有了新的答案。您还可以改进使用 with 语法来改进这一点。

import pprint
d = {'a':1, 'b':2}
with open('./test2.txt', 'w+') as out:
    PP = pprint.PrettyPrinter(indent=4,stream=out)
    PP.pprint(d)