我有一个代码,我需要动态输入一个给定名称作为参数传递给系统的库。
def test_procedure( args):
from args[0] +_features import extract_features
我可以做类似的事情吗?我可以使用动态字符串导入我的库吗?文件名例如是audio_features,但也可以是face_features。当args[0] = "audio"
或args[0] = "face"
时,它们都包含相同的功能extraction_features
。我需要打开通讯文件。
编辑:
lib = importlib.__import__(args[0]+ '_features', fromlist=['extract_features'])
现在我的代码中包含该行,但是,当我尝试使用函数extract_features时,我会收到:
NameError:名称'extract_features'未定义
当我打印lib变量时:
<module 'audio_features' from '...\\...\\audio_features.py'>
硬编码的代码如下:
from audio_features import extract_features