__init__.py 除了 包的作用,还有什么?

2016-11-01 18:03:25 +08:00
 crytis
这个文件里可以写代码吗?
看 flask 的文档,把 views 拆出来,在 __init__.py 里面 app = Flask(__name__)

然后我直接在 __init__.py 里用 main app.run(),结果都是 404.
但是如果放到别的文件里, import app ,再 run 就可以。
3211 次点击
所在节点    Python
7 条回复
jppxhz01
2016-11-01 18:28:03 +08:00
可以写代码呀,在 import 包的时候就执行了
crytis
2016-11-01 19:25:29 +08:00
@jppxhz01 里面的代码会在 import 的时候执行?
为啥里面运行 APP.run 不行呢
shyling
2016-11-01 19:31:37 +08:00
__all__
phithon
2016-11-01 20:36:52 +08:00
主要是 export 用,比如我写一个模块 example ,在其__init__.py 里导出一些对象,比如 session
不管内部还是外部,要获取 session ,都直接 `from example import session` 就好了。
crytis
2016-11-01 22:17:55 +08:00
@shyling
@phithon 嗯 其实我想问 为啥在里面运行 APP.run 全是 404
ibigbug
2016-11-02 03:13:41 +08:00
贴代码。你这样问没人答得出来。
kitar
2016-11-04 13:14:36 +08:00
建议你看下 python 的库源码,看看别人怎么用__init__

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/317172

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX