1

インメモリPython辞書の Pythonソースコード表現を取得するには?

なぜpythonとconfigファイルを気にするのですか?彼のコメントでトーマスは述べています

しかし、アプリケーション内の設定を変更する方法 (設定ダイアログなど) が必要な場合、正しい Python ファイルを自動的に書き込む良い方法はありません。

4

2 に答える 2

4

repr()「基本的な」Python 型のみを使用すると仮定すると、構造体を書き出して、ast.literal_eval()後でそれを読み戻すことができます。

于 2012-07-21T17:30:39.043 に答える
1

記事にあるように、JSON/YAML やその他の形式を使用した方がよいのですが、Python dict を真剣に使用したくて、基本的な Python 型しか使用していない場合は...

書き出す (pformat を使用して、人間が読めるようにすることを試みます):

from pprint import pformat # instead of using repr()

d = dict(enumerate('abcdefghijklmnopqrstuvwxyz'))
open('somefile.py').write(pformat(d))

読み返し

from ast import literal_eval
d = literal_eval(open('somefile.py').read())
于 2012-07-21T17:39:46.540 に答える