调用动态导入模块的函数

时间:2013-04-03 16:17:50

标签: python import

我有这个模块(名为module1.py):

import os
def main():
    command=os.system("dir")
    return command,"str"

我用它动态导入了它:

mod = __import__("modules."module1)

效果很好。但现在我想调用module1的函数“main”。

mod.main()不起作用。为什么??我怎样才能调用module1模块的main()函数?

非常感谢

1 个答案:

答案 0 :(得分:4)

我更喜欢使用fromlist参数。

mod = __import__("modules.%s" % (module1), fromlist=["main"])
mod.main()

根据您的使用情况,您可能还需要指定locals和globals。

mod = __import__("modules.%s" % (module1), locals(), globals(), ["main"])