2

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

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

我已经用这个动态导入了它:

mod = __import__("modules."module1)

它工作得很好。但是现在我想调用module1的函数“main”。

mod.main()不起作用。为什么??如何调用 module1 模块的 main() 函数?

非常感谢你

4

1 回答 1

4

我更喜欢使用fromlist论点。

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

根据您的用例,您可能还需要指定局部变量和全局变量。

mod = __import__("modules.%s" % (module1), locals(), globals(), ["main"])
于 2013-04-03T16:24:38.957 回答