2012-01-06 20 views
2

複数のプログラムモジュールが要素にアクセスできるように、PythonのConfigParserを実装する最良の方法を理解しようとしています。私は使用しています: -Python ConfigParser - モジュール間での使用

import ConfigParser 
import os.path 

config = ConfigParser.RawConfigParser() 

config.add_section('paths') 
homedir = os.path.expanduser('~') 
config.set('paths', 'user', os.path.join(homedir, 'users')) 
[snip] 
config.read(configfile) 

最後の行でconfigfile変数が参照されています。これは、ユーザーがデフォルトの設定ファイルを上書きできるようにConfigモジュールに渡されなければなりません。 config.get(spam、eggs)を他のモジュールが使用できるようにモジュール/クラスに実装する方法は?

答えて

3

あなたの質問に書いたコードは、モジュールconfigmodule.pyの中にあるとしましょう。他のモジュールは次のようにしてアクセスします。

from configmodule import config 
config.get(spam, eggs) 
+0

ありがとうございます。このソリューションを使用すると、configfile変数をconfigパーサーに渡す方法はありますか? –

+0

通常は、optparseまたはargparseを使用して、ユーザーに設定ファイルを選択させます。オプションと引数の解析がconfigモジュールでも行われていれば、これは簡単です(しかし、問題が発生した場合は自由に質問を拡張してください)。それ以外の場合は、特定のプログラム構造に大きく依存します。 – silvado

+0

それはそれを解決しました、ありがとう!そのトリックは、optparseとConfigParserを同じモジュールに置くことでした。 –

関連する問題