Ответ 1
Используйте width=1
или width=-1
:
In [33]: pprint.pprint(a, width=1)
{'first': 123,
'second': 456,
'third': {1: 1,
2: 2}}
Я пытаюсь получить симпатичную распечатку словаря, но мне не повезло:
>>> import pprint
>>> a = {'first': 123, 'second': 456, 'third': {1:1, 2:2}}
>>> pprint.pprint(a)
{'first': 123, 'second': 456, 'third': {1: 1, 2: 2}}
Я хотел, чтобы вывод был в несколько строк, что-то вроде этого:
{'first': 123,
'second': 456,
'third': {1: 1,
2: 2}
}
Может ли pprint
сделать это? Если нет, то какой модуль это делает? Я использую Python 2.7.3.
Используйте width=1
или width=-1
:
In [33]: pprint.pprint(a, width=1)
{'first': 123,
'second': 456,
'third': {1: 1,
2: 2}}
Вы можете преобразовать dict в json через json.dumps(d, indent=4)
print(json.dumps(item, indent=4))
{
"second": 456,
"third": {
"1": 1,
"2": 2
},
"first": 123
}
Если вы пытаетесь распечатать переменные среды, используйте:
pprint.pprint(dict(os.environ), width=1)
Две вещи добавить к Райану Чоу уже очень полезный ответ:
sort_keys
аргумент sort_keys
для более легкого визуального контроля, особенно если вы работаете с Python до 3.6 (в котором словари не упорядочены)print(json.dumps(item, indent=4, sort_keys=True))
"""
{
"first": 123,
"second": 456,
"third": {
"1": 1,
"2": 2
}
}
"""
dumps()
будет работать только в том случае, если ключи словаря являются примитивами (strings, int и т.д.)