首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >web2py如何导入同一目录下的模块?

web2py如何导入同一目录下的模块?
EN

Stack Overflow用户
提问于 2013-03-13 09:20:56
回答 2查看 450关注 0票数 0

我在控制器中有一个名为default.py的文件,在同一目录下有一个getmsg.py文件,但我不能在default.py中导入getmsg。为什么不行?我该如何导入它?

错误:

代码语言:javascript
运行
复制
Traceback (most recent call last):
  File "F:\xampp\htdocs\web2py\gluon\restricted.py", line 212, in restricted
    exec ccode in environment
  File "F:/xampp/htdocs/web2py/applications/tools/controllers/default.py", line 11, in <module>
    import getmsg
  File "F:\xampp\htdocs\web2py\gluon\custom_import.py", line 81, in custom_importer
    raise ImportError, 'Cannot import module %s' % str(e)
ImportError: Cannot import module 'getmsg'
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-13 10:02:19

在web2py中,控制器不是Python模块--您不需要导入它们。您可以将模块放在应用程序的/modules文件夹中,然后从那里导入。

从理论上讲(假设/controllers文件夹中有一个__init__.py文件),您可以这样做:

代码语言:javascript
运行
复制
import applications.myapp.controllers.getmsg

但这不会被视为标准做法。特别是,控制器并不打算用作常规的Python模块。它们是在已经定义了大部分web2py应用编程接口的环境中执行的,因此,如果将控制器作为模块导入,其代码可能会引用不可用的全局对象,这将生成异常。

票数 0
EN

Stack Overflow用户

发布于 2013-03-13 09:32:00

代码语言:javascript
运行
复制
from getmsg import Classname, methodname
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15375361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档