Я пытаюсь красиво напечатать словарь, который может стать довольно большим, и я хочу сделать его как можно более читабельным.Хотя это все еще не похоже на то, как я написал бы это вручную (с новыми строками и отступами, когда это необходимо).
Я пытаюсь иметь такой формат (отступ с двумя пробелами):
{
'a': {
'1': [],
'2': []
},
'b': {
'1': [],
'2': [],
}
}
Теперь изначально dict выглядит так (без использования pprint):
{'test': {'0.2.0': {'deploy': {'some.host.com': {'outputs': [], 'inputs': []}},
'release': {'some.git': {'outputs': [], 'inputs': []}}},
'0.1.0': {'deploy': {'some.host.com': {'outputs': [], 'inputs': []}},
'release': {'some.git': {'outputs': [], 'inputs': []}}}},
'stage': {'0.1.0': {'deploy': {'stage.com': {'outputs': [], 'inputs': []}},
'release': {'stage.git': {'outputs': [], 'inputs': []}}}}}
с: pprint.pprint(my_dict)
, выглядит так:
{'stage': {'0.1.0': {'deploy': {'stage.com': {'inputs': [], 'outputs': []}},
'release': {'stage.git': {'inputs': [], 'outputs': []}}}},
'test': {'0.1.0': {'deploy': {'some.host.com': {'inputs': [], 'outputs': []}},
'release': {'some.git': {'inputs': [], 'outputs': []}}},
'0.2.0': {'deploy': {'some.host.com': {'inputs': [], 'outputs': []}},
'release': {'some.git': {'inputs': [], 'outputs': []}}}}}
Ну, не так уж и отличается.Я пытался играть с pprint.pprint
опциями, такими как indent
, width
, compact
, но ни одна из них не отформатировала так, как я хочу.Можно ли добиться такого же форматирования с помощью pprint, как я упоминал выше?Или, может быть, есть какой-то лучший инструмент для этого?
PS Если бы вы предложили какой-нибудь другой инструмент, было бы здорово иметь возможность записи в файл с помощью этого инструмента aswel.Потому что я использую pprint для прямой записи в файл.