如何将pprint模块的输出发送到日志文件

时间:2010-10-07 09:40:44

标签: python logging

我有以下代码:

logFile=open('c:\\temp\\mylogfile'+'.txt', 'w')
pprint.pprint(dataobject)

如何以漂亮的打印格式将dataobject的内容发送到日志文件?

3 个答案:

答案 0 :(得分:69)

pprint.pprint(dataobject, logFile)

请参阅the documentation

答案 1 :(得分:15)

请使用pprint.pformat,它会返回一个可以直接转储到文件的格式化字符串。

>>> import pprint
>>> with open("file_out.txt", "w") as fout:
...     fout.write(pprint.pformat(vars(pprint)))
... 

参考:

http://docs.python.org/2/library/pprint.html

答案 2 :(得分:2)

对于Python 2.7

logFile = open('c:\\temp\\mylogfile'+'.txt', 'w')
pp = pprint.PrettyPrinter(indent=4, stream=logFile)
pp.pprint(dataobject)   #you can reuse this pp.print