Python - よく使うモジュール - 標準入出力 - pprint


クラウディア 


1. 概要
2. pprint

1. 概要

 データを整形して出力するモジュールです。  「pprint」は、「Pretty Print」の略のようです。  本ページは、下記の記事を参考にさせていただきました。
Python の pprintの 使い方(リストや辞書を整形して出力)」
「pprint --- データの整形表示 — Python 3.13.1 ドキュメント

2. pprint

 前ページの「print」で、例えば辞書形式のものを出力しようとすると・・・。

dic = {  'key01' : 'value01',  'key02' : 'value02',  'key03' : 'value03',  'key04' : 'value04',  'key05' : 'value05'
       , 'key06' : 'value06',  'key07' : 'value07',  'key08' : 'value08',  'key09' : 'value09',  'key10' : 'value10'  }

print(dic)
 まぁ、ソースは整形できるものの、「print」は、いささか具合が悪い。

{'key01': 'value01', 'key02': 'value02', 'key03': 'value03', 'key04': 'value04', 'key05': 'value05', 'key06': 'value06', 'key07': 'value07', 'key08': 'value08', 'key09': 'value09', 'key10': 'value10'}
 これを、オブジェクトに合わせて整形してくれるのが、「pprint」ちゅうのですが、これは、モジュールをインストールしなければならないし、バージョンによってコール方法が異なります。  (バージョンによる相違が大きいのが、「Python」の難点です)  ちなみに以下は、「Python3.7」で記述しています。  「PrettyPrinter」というモジュールのインストールが必要になります。  「FreeBSD」で使う場合、「pkg」ならば。

pkg install py37-prettyprinter
 「ports」ならば。

cd /usr/ports/devel/py-prettyprinter
make
make install
 でインストールします。  (オプションはありません)  で、先ほどのソースを整形して記述すると。

import pprint
from textwrap import indent

dic = {  'key01' : 'value01',  'key02' : 'value02',  'key03' : 'value03',  'key04' : 'value04',  'key05' : 'value05'
       , 'key06' : 'value06',  'key07' : 'value07',  'key08' : 'value08',  'key09' : 'value09',  'key10' : 'value10'  }

pp = pprint.PrettyPrinter(indent=4)

pp.pprint(dic)
 下記のような出力になります。

{   'key01': 'value01',
    'key02': 'value02',
    'key03': 'value03',
    'key04': 'value04',
    'key05': 'value05',
    'key06': 'value06',
    'key07': 'value07',
    'key08': 'value08',
    'key09': 'value09',
    'key10': 'value10'}

AbemaTV 無料体験