0

定数値を持つ const ファイルが複数あるとします。

const/
      const_1.py
      MAX = 10

      const_2.py
      MAX = 100

次に、3つのpythonパッケージ(またはdjangoアプリ)があります

common_app/
def sum():
    result = 0;
    for i in range(const.MAX):
        result += i
    return i

app_1/
# somehow let common_app to use const_1.py when he's using const                                                                                                                                                                                                            
assert(common_app.sum() == 55)

app_2/
# somehow let common_app to use const_2.py when he's using const                                                                                                                                                                                                            
assert(common_app.sum() == 5050)

したがって、モジュールが別のモジュールをインポートするとき、インポートされたモジュールが別のモジュールを選択的にインポートするようにします。これは可能ですか?

4

1 に答える 1

0

importlibを使用して動的にインポートできます。

from importlib import import_module

# modify it to suit your case
statement = True

if statement:
    const = import_module('const_1')
else:
    const = import_module('const_2')
于 2013-11-05T03:28:19.410 に答える