Python 漂亮打印到文件?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/17280534/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-19 00:56:53  来源:igfitidea点击:

Prettyprint to a file?

pythonhashdictionarytreepretty-print

提问by James.Wyst

I'm using this gist'stree, and now I'm trying to figure out how to prettyprint to a file. Any tips?

我正在使用这个gist 的树,现在我想弄清楚如何漂亮地打印到文件。有小费吗?

采纳答案by Stefano Sanfilippo

What you need is Pretty Print pprintmodule:

你需要的是漂亮的打印pprint模块:

from pprint import pprint

# Build the tree somehow

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

回答by mgilson

If I understand correctly, you just need to provide the file to the streamkeyword on pprint:

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

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

回答by Gary02127

Another general-purpose alternative is Pretty Print's pformat()method, which creates a pretty string. You can then send that out to a file. For example:

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

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