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 回答