我正在使用Flask Framework建立一个网站,我在其中有一个文件夹,其中有一些python文件和一个__init__.py
脚本(我想你会打电话这个文件夹是一个模块?)。在 init .py文件中,我有一句话:
db = Database(app)
我现在想在此文件夹中的其他脚本中使用db
。通常我会使用from __init__ import db
执行此操作,但这似乎并不合适,更不用说pythonic了。此外,因为它在__init__.py
文件中,我想它应该以某种方式初始化整个文件夹/模块。
有人知道如何使用db
文件中的__init__.py
吗?欢迎所有提示!
答案 0 :(得分:9)
from . import db
答案 1 :(得分:-1)
导入其所在的软件包时会自动导入 init .py文件。例如,假设 init .py位于名为的软件包中FOO 即可。导入foo时
import foo
from foo import *
import foo as ...
调用 init 文件。你使用python 2还是3?如果您使用的是python 3,则需要使用动态导入:
from * import __init__
一般来说,从 init 导入是不好的做法,我建议尝试将此代码放在包中的另一个文件中。