我导入了一个模块,如下所示:
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"