У меня есть следующий код:как отправить вывод pprint модуля в файл журнала
logFile=open('c:\\temp\\mylogfile'+'.txt', 'w')
pprint.pprint(dataobject)
, как я могу отправить содержимое DataObject в лог-файл на довольно формате печати?
У меня есть следующий код:как отправить вывод pprint модуля в файл журнала
logFile=open('c:\\temp\\mylogfile'+'.txt', 'w')
pprint.pprint(dataobject)
, как я могу отправить содержимое DataObject в лог-файл на довольно формате печати?
pprint.pprint(dataobject, logFile)
Пожалуйста, используйте pprint.pformat
, который возвращает отформатированную строку, которая может быть сброшена непосредственно в файл.
>>> import pprint
>>> with open("file_out.txt", "w") as fout:
... fout.write(pprint.pformat(vars(pprint)))
...
Ссылка:
Для 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
'pprint (DataObject, FOUT)' работает так же хорошо. –
Вы найдете, что pformat намного медленнее, чем pprint непосредственно в файле, особенно если вы используете конструкцию типа 'varname =% s% pprint.pformat (varname)' – boatcoder