我刚开始使用谷歌应用程序引擎,并一直在寻找好的做法和代码组织。我的大部分问题都来自于__init__.py
的混淆。如何使用__init__.py组织代码?
我目前的测试结构看起来像
/website
main.py
/pages
__init__.py #1
blog.py
hello2.py
hello.py
/sub
__init__.py #2
base.py
我想使用main.py作为简单地指向/页和/页/分的一切文件。/pages中的大多数模块共享几乎所有相同的导入(例如导入urllib),是否有一种方法可以定义/ pages中的所有内容导入我想要的内容,而不是将其添加到每个单独的模块中?
目前__init__.py
#1我有
from sub.base import *
然而,我模块blog.py说BaseHandler(在base.py函数)没有定义。 我的最终目标是有类似...
main.py
from pages import *
#be able to call any function in /pages without having to do blog.func1() or hello.func2()
#rather just func1() and func2()
,并能够分享共同的进口模块/pages
在__init__.py
。以便他们共享例如urllib和base.py中的所有函数。感谢您花时间阅读这篇文章,我期待您的洞察力。
导入'__init__'的项目不会自动在同一个包中的模块中使用。您仍然需要在需要的地方明确导入'BaseHandler',比如在blog.py中。 –