动态导入python中的子模块

mat*_*ick 2 python import imp

假设我在命令行中提供了一个模块,并希望使用"imp"模块导入它:

$ foo.py mod.a.b.c
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么?

拆分"mod.abc"并添加每条路径?"imp"的行为似乎与"import"并行.

unu*_*tbu 5

给定一个模块路径作为字符串(modulename),您可以使用它导入它

module = __import__(modulename,fromlist='.') 
Run Code Online (Sandbox Code Playgroud)

注意__import__('mod.a.b.c')返回包mod,同时__import__('mod.a.b.c',fromlist='.')返回模块mod.a.b.c.