0

次の構成ファイルがあるとします。

config.py :

x = 2
y = x * 2

できれば load_source コマンドを使用して、これをファイルmain.pyにインポートしたいのですが、インポート時に x の値を変更して、 x の変更が構成内の他の変数に伝播するようにしたいです。 .py . たとえば、次のコードが必要で、4 ではなく 6 を出力します。

main.py :

import imp
config = imp.load_source('', 'config.py')
config.x = 3
print config.y

それを行う最善の方法は何ですか?これを行うためにconfig.pyに関数を記述できることは知っていますが、構成は単純な変数定義のみにすることを好みます。

4

1 に答える 1

1

コードをクラスに入れます。

class Config(object):
    def __init__(self, x=2):
        self.x = x
        self.y = x * 2

次に、メイン プログラムで次のようにします。

c = Config(3)
print c.y
于 2016-02-25T22:35:04.440 に答える