在python(Django)中有选择地导入模块

2024-04-26 20:24:32 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有多个常量文件,其中包含常量值。你知道吗

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)

所以,当一个模块导入另一个模块时,我希望导入的模块有选择地导入另一个模块。 这可能吗?你知道吗


Tags: 模块topyappuseresultcommonmax
1条回答
网友
1楼 · 发布于 2024-04-26 20:24:32

可以使用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')

相关问题 更多 >