辞書型の中が日本語でもちゃんと出力してくれる。かなりありがたい。
複雑な構造の辞書型にも対応してる。
例えば以下な感じで使う。
dic={} #中身は適当に作る
pp(dic) # 単なる出力
a=pp_str(dic) # 結果を変数に受け取る時
下のgithubから入手する。
windowsだとeasy_installで上手く入らなかった。
(エラーはなかったが... 何か作法を忘れたかな?)
prettyprintフォルダの中身2つのファイル
https://github.com/taichino/prettyprint/tree/master/prettyprint
を適当に配置すれば動く。
ubuntuでも動作確認した。
print(pp())とかする筋のよりも楽だと思う。
いろんなppがあって詳しくはないけど...
python3で使う場合
print文を括弧に直して、
pp_str()関数の戻り値のeval以下を単純にorigだけにすると機能した。
が、uコードが入ってると今度は文字化けだった><
追記:
return orig.encode('utf-8').decode('unicode_escape')
で日本語の表示も通りました!
参考:この例だとエンコード・デコードが逆になる。
http://kwatch.houkagoteatime.net/blog/2013/12/07/python-tips/
しらべたら、python3はすでにpprintモジュールが存在してた。
元のpretyprint.pyにインポートして、元のpp関数をpp_などにして、
下記の記述でとりあえず動作するw
だけど、こいつの返り値のtypeは独自クラスなので
調べないと中身が取り出せるのかわからない
import pprint
def pp(obj):
pprint.pprint(obj)
参考
Pythonで日本語を含んだリストと辞書をpretty printしたい件
http://taichino.com/programming/1599
taichino/prettyprint
https://github.com/taichino/prettyprint