可以使用importlib加载模块
# 函数输入: py脚本目录, py脚本名(1.py) , py脚本要执行的函数,py脚本要执行的参数
def loadPyFileContent(self, pyPath, pyFileName, functionName, params):
try:
module_name = pyFileName[:-3]
# 获取模块的完整路径
module_path = os.path.join(pyPath, pyFileName)
# 使用importlib加载模块
spec = importlib.util.spec_from_file_location(module_name, module_path)
module = importlib.util.module_from_spec(spec) # type: ignore
spec.loader.exec_module(module)
if hasattr(module, functionName):
function = getattr(module, functionName)
return function(**params)
else:
print(f"{pyFileName} have not function {functionName}")
except Exception as e:
print(f"load function {functionName} for {pyFileName} fail.")
return None