こんにちは。hacknoteのr.katoです。
今回は、以下の様な階層構造の辞書等をpythonで標準出力する際に、使うと読みやすくなる設定を紹介していきます。
hoge = { 'Reservations': [ { 'Groups': [ { 'GroupName': 'string', 'GroupId': 'string' }, ], 'Instances': [ { 'AmiLaunchIndex': 123, 'ImageId': 'string', 'InstanceId': 'string' } ] } ] }
↑こんな、構造の文字列を1行で表示された日にはたまったもんじゃないです…
方法
pprintというpythonに最初から入っている標準ライブラリを使用します。
プログラムの最初の方に次の2行を記入しておきます。
import pprint pp = pprint.PrettyPrinter(indent=4)
この様にしておくことで、 pp.print(hoge)
とすれば次の様に表示してくれます。
{ 'Reservations': [ { 'Groups': [ { 'GroupId': 'string', 'GroupName': 'string'}], 'Instances': [ { 'AmiLaunchIndex': 123, 'ImageId': 'string', 'InstanceId': 'string'}]}]}
これで、かなり読みやすくなるのではないでしょうか。
全体図
import pprint pp = pprint.PrettyPrinter(indent=4) hoge = { 'Reservations': [ { 'Groups': [ { 'GroupName': 'string', 'GroupId': 'string' }, ], 'Instances': [ { 'AmiLaunchIndex': 123, 'ImageId': 'string', 'InstanceId': 'string' } ] } ] } pp.pprint(hoge)