蟒蛇,麻烦从一个模块调用函数(python, trouble with calling functi

2019-07-30 19:26发布

我导入一个模块如下:

filename = "email"
mymodule = __import__('actions.'+filename)

我有这个问题,该文件被立刻执行,我宁愿从文件(这样我可以通过它发送变量)执行特定功能。

我基本上使用插件工作,所以它的工作原理。

编辑 :暂时,我不关心,当我将下面一行添加脚本是否执行:

mymodule = __import__('actions.'+filename)

但我想工作是当我在下面添加行了,我想的函数来执行。 而是我得到该模块有不到风度即使exisits的脚本功能的错误。

mymodule.dosomething(n)

编辑 :我个人不认为该函数有什么关系,但这里是我试图打开一个Python文件。

import webbrowser
def OpenEmail():
    handle = webbrowser.get()
    handle.open('http://gmail.google.com')
OpenEmail()
print "Your email has been opened"

Answer 1:

不存在的功能,除非该模块执行。 你不能两者兼得。 也许你需要在添加主节到模块。



Answer 2:

问题是,你得到的actions模块返回。 试试这个:

mymodule = __import__('actions.'+filename)
for submodule in filename.split('.'):
    mymodule = getattr(mymodule, submodule)

这发生在您尝试导入一个子模块,即module.something.somethingelse ,你得到module返回。



文章来源: python, trouble with calling functions from a module