毎日ちょっとPython ~ 27日目 ~

勉強や。勉強

pprint.pformat()関数を用いて変数を保存する

pprint.pprint()関数を用いてリストや辞書を整形して表示しましたが、pprint.pformat()関数は画面上に表示せずに整形してた文字列を返します。

整形された文字列は読みやすいだけでなく、Pythonのコードとして文法的に正しいものになっています。

例えば、変数に格納された辞書があり、この変数の内容を将来の利用に備えて保存したとします。pprint.pformat()を用いると、.pyファイルに書き込める文字列を取得できます。このファイルは独自のモジュールとしてインポートでき、その中に保存された変数をいつでもつかうことができます。

# まずは変える
>>> os.chdir("D:\\Python\\ver5")
>>> os.getcwd()
'D:\\Python\\ver5'

>>> import pprint
>>> cats = [{'name':'Zophie','desc':'chubby'},{'name':'Pooka','desc':'fluffy'}]
>>> pprint.pformat(cats)
"[{'desc': 'chubby', 'name': 'Zophie'}, {'desc': 'fluffy', 'name': 'Pooka'}]"
>>> file_obj = open('myCats.py','w')
>>> file_obj.write('cats = ' + pprint.pformat(cats)+'\n')
83
>>> file_obj.close()

import文によってインポートするモジュールも、Pythonスクリプトで記述します。pprint.pformat()から得られた文字列を.pyファイルに保存したなら、そのファイルはほかでもインポート可能なモジュールになるのです。

Pythonのスクリプト自体が.pyという拡張子をもったテキストファイルなので、PythonプログラムがほかのPythonのプログラムを生成することができる。

>>> import myCats
>>> myCats.cats
[{'desc': 'chubby', 'name': 'Zophie'}, {'desc': 'fluffy', 'name': 'Pooka'}]
>>> myCats.cats[0]
{'desc': 'chubby', 'name': 'Zophie'}
>>> myCats.cats[0]['name']
'Zophie'

先日やったものと比べて、.pyファイルを生成する利点は、テキストファイルであるためファイルの内容をテキストエディタで読んだり修正したりできることです。だけど、ほとんどはshelveモジュールを使うほうが便利です。

次から問題集を作るらしい。終わり。

この記事が気に入ったらサポートをしてみませんか?