导入模块无法使用的功能从模块
我输入如下模块:导入模块无法使用的功能从模块
filename = "email"
mymodule = __import__('actions.'+filename)
我有这个问题,该文件被立即执行,而我宁愿执行一个来自文件的特定函数(这样我可以通过它发送变量)。
暂时,我不是立即关心当我添加下面的行(当脚本被导入时)时脚本是否执行,因为我将使用if __name__ == "__main__"
技巧解决它。
mymodule = __import__('actions.'+filename)
但我想工作的是当我添加下面的行,我想要执行的功能。但是,我得到一个错误,即使它存在于脚本中,该模块也没有该功能。
mymodule.OpenEmail(n)
函数名称并不重要,因为我已经能够得到下面的脚本在自己的工作,当我运行它,但试图将其导入闲置和执行行了,当上面我得到一个错误,说该模块没有该功能(或一些非常类似的错误)。无论如何,下面的代码是一个示例脚本,我像插件一样使用。但我的主要观点是,我能够动态地导入和执行python脚本,但现在我想能够通过发送变量到文件。如果我能以某种方式让函数像上面那样工作,那我肯定它会解决我的问题。
import webbrowser
def OpenEmail():
handle = webbrowser.get()
handle.open('http://gmail.google.com')
OpenEmail()
print "Your email has been opened"
很简单,这是我在空闲
filename = 'actions.email'
mod = __import__(filename)
VAR = getattr(mod, 'email')
VAR.OpenEmail()
得到了我的电子邮件,打开没有!
As documented,使用__import__()
用虚线名称和没有fromlist
参数返回到最上面的包的引用。您可以使用点符号或getattr()
来访问相应的属性以降低程序包层次结构。
谢谢!经过getattr()的闲置后,我得到了它的工作! – bs7280 2012-08-06 06:36:21
为什么有新的问题? http://*.com/questions/11814565/python-trouble-with-calling-functions-from-a-module – phant0m 2012-08-05 08:54:47
,因为我没有得到明确的答案,将工作,并在那个时候,我认为这是由于我在另一篇文章中没有明确说明我的问题。 – bs7280 2012-08-06 06:39:15
@ user1270285:您可以编辑您以前的问题。 – 2012-08-06 06:47:14