辞書をきれいに印刷しようとしていますが、運がありません。
>>> 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. を使用しています。
つかいます width=1
または width=-1
:
In [33]: pprint.pprint(a, width=1)
{'first': 123,
'second': 456,
'third': {1: 1,
2: 2}}
json.dumps(d, indent=4)
を使用して辞書をJSONに変換できます
print(json.dumps(item, indent=4))
{
"second": 456,
"third": {
"1": 1,
"2": 2
},
"first": 123
}
環境変数をきれいに出力しようとしている場合は、次を使用します。
pprint.pprint(dict(os.environ), width=1)
Ryan Chouの既に非常に役立つ答えに加えて、2つのことを追加します。
sort_keys
_引数を渡すと、辞書の視覚的な見栄えがよくなります(特に)。 3.6より前のバージョンで作業している場合Python(辞書が順序付けられていない)_print(json.dumps(item, indent=4, sort_keys=True))
"""
{
"first": 123,
"second": 456,
"third": {
"1": 1,
"2": 2
}
}
"""
_
dumps()
は、辞書キーがプリミティブ(文字列、intなど)の場合にのみ機能します