2010-10-07 15 views

Respuesta

13

Utilice pprint.pformat, que devuelve una cadena con formato que puede ser vierten directamente en el archivo.

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

Referencia:

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

+2

'pprint (DataObject, fout)' funciona igual de bien. –

+1

Encontrarás que pformat es mucho más lento que pprint directamente en el archivo, especialmente si usas una construcción como 'varname =% s% pprint.pformat (varname)' – boatcoder

2

Para 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 
Cuestiones relacionadas