- 解决命名冲突:
from module_a import process_data as process_data_a
from module_b import process_data as process_data_b
- 这样在主脚本中就可以通过
process_data_a
和process_data_b
分别调用module_a
和module_b
中的process_data
函数,避免了命名冲突。
- 动态导入特定函数:
- 使用
importlib
模块实现动态导入。假设模块名存储在变量module_name
中,函数名存储在变量function_name
中,可以这样做:
import importlib
def dynamic_import_function(module_name, function_name):
module = importlib.import_module(module_name)
return getattr(module, function_name)
# 示例使用
module_name ='module_a'
function_name = 'process_data'
process_data_func = dynamic_import_function(module_name, function_name)
result = process_data_func()
- 上述代码定义了
dynamic_import_function
函数,它接收模块名和函数名作为参数,通过importlib.import_module
动态导入模块,然后使用getattr
获取模块中的特定函数。