Prettyprint в файл?
Я использую дерево этой сущности, и теперь я пытаюсь выяснить, как распечатать файл. Какие-нибудь советы?
4 ответа
Решение
Что вам нужно, это Pretty Print pprint
модуль:
from pprint import pprint
# Build the tree somehow
with open('output.txt', 'wt') as out:
pprint(myTree, stream=out)
Еще одна альтернатива общего назначения - Pretty Print pformat()
метод, который создает красивую строку. Затем вы можете отправить это в файл. Например:
import pprint
data = dict(a=1, b=2)
output_s = pprint.pformat(data)
# ^^^^^^^^^^^^^^^
open('output.txt', 'w').write(output_s)
Если я правильно понимаю, вам просто нужно предоставить файл stream
ключевое слово на отпечатке:
with open(outputfilename,'w') as fout:
pprint(tree,stream=fout,**other_kwargs)
import pprint
outf = open("./file_out.txt", "w")
PP = pprint.PrettyPrinter(indent=4,stream=outf)
d = {'a':1, 'b':2}
PP.pprint(d)
outf.close()
Не удалось заставить stream= в принятом ответе работать без этого синтаксиса в Python 3.9. Отсюда новый ответ. Вы также можете улучшить использование
with
синтаксис, чтобы улучшить и это.
import pprint
d = {'a':1, 'b':2}
with open('./test2.txt', 'w+') as out:
PP = pprint.PrettyPrinter(indent=4,stream=out)
PP.pprint(d)