2010-10-07 5 views

ответ

13

Пожалуйста, используйте 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

'pprint (DataObject, FOUT)' работает так же хорошо. –

+1

Вы найдете, что pformat намного медленнее, чем pprint непосредственно в файле, особенно если вы используете конструкцию типа 'varname =% s% pprint.pformat (varname)' – boatcoder

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 
Смежные вопросы