- 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'}
|