2012-04-17 10 views
3

私は10種類のpythonファイルを持つプロジェクトを持っています。それはクラスと関数を持っています - かなり多く。 プロジェクトの設定を表す特定のデータを、すべてのプロジェクトファイル間で共有したいと考えています。モジュール間で設定を共有する正しい方法

settings = {} 
settings['max_bitrate'] = 160000 
settings['dl_dir'] = r"C:\Downloads" 

をして、私はすべてのファイルからクラスをインポートします。

私はsettings.pyファイルを作成することを思い付きました。

もっと適切な方法がありますか?

+0

私はZiggが指摘している決定的な方法があると思います:一般的に ".INIファイル"と呼ばれる設定ファイル。あなたのユースケースは、その存在の理由です。 – heltonbiker

答えて

4

は、私はおそらくこの点で少し古い学校だけど、私の最新のプロジェクトで、私は/etcで設定ファイルを作成し、その後でそれを読んで、それを利用できるようにConfigParserを使用していますconfigモジュールを作成し、インポートそのconfigモジュールはどこでも設定を読む必要があります。

+2

私は彼らの力を再発見しています。私はルールがあるはずだと思う:システムのすべてのパラメトリック情報(メタデータとも呼ばれる)は、ソースコードの外にある構成ファイルに置かれるべきである。実際には: "抽象をコードに入れ、詳細はメタデータ":http://pragmatictips.com/38 – heltonbiker

1

あなたの方法はいいと思うし、コンフィギュレーションファイルやWindowsレジストリを使用するなど、設定モジュールの実装を簡単に変更できるという利点があります。

関連する問題