我正在尝试编写一个通用模块,它提供充当特定实现的包装器的函数。
例如,我的main.py脚本将调用profile.py函数profile()
。然后,profile.py将调用machineA或machineB measure()
函数,具体取决于我传入的cmd行arg。
/main.py
tools/profile.py -- # provides function profile
machineA/measure.py # provides function measure
machineB/measure.py # provides function measure
目前我的tools / profile.py执行此操作
if machine == 'machineA':
from machineA import measure
else:
from machineB import measure
def profile():
return measure.measure()
我正在使用模块来执行此功能,我认为可能有一种方法可以使用类来完成此操作,但是我不太熟悉类以了解如何开始。任何提示将不胜感激。
答案 0 :(得分:0)
简单(虽然很简陋)的方法是直接使用__import__
。
measure = __import__(machine).measure
稍微清洁就是使用importlib
模块。
import importlib
measure = importlib.import_module(machine).measure