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

2016 年 11 月 1 日
 crytis
这个文件里可以写代码吗?
看 flask 的文档,把 views 拆出来,在 __init__.py 里面 app = Flask(__name__)

然后我直接在 __init__.py 里用 main app.run(),结果都是 404.
但是如果放到别的文件里, import app ,再 run 就可以。
3740 次点击
所在节点    Python
7 条回复
jppxhz01
2016 年 11 月 1 日
可以写代码呀,在 import 包的时候就执行了
crytis
2016 年 11 月 1 日
@jppxhz01 里面的代码会在 import 的时候执行?
为啥里面运行 APP.run 不行呢
shyling
2016 年 11 月 1 日
__all__
phithon
2016 年 11 月 1 日
主要是 export 用,比如我写一个模块 example ,在其__init__.py 里导出一些对象,比如 session
不管内部还是外部,要获取 session ,都直接 `from example import session` 就好了。
crytis
2016 年 11 月 1 日
@shyling
@phithon 嗯 其实我想问 为啥在里面运行 APP.run 全是 404
ibigbug
2016 年 11 月 2 日
贴代码。你这样问没人答得出来。
kitar
2016 年 11 月 4 日
建议你看下 python 的库源码,看看别人怎么用__init__

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

https://study.congcong.us/t/317172

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

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

© 2021 V2EX