玩蛇网提供最新Python编程技术信息以及Python资源下载!

Python import相互导入有顺序会影响执行吗?

app.py:

from flask import Flask
# 如果在这里添加 import model 就会报错

app = Flask(__name__)

# ...
# model.py 需要导入使用
# 然后执行一些数据操作
# ...

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

Flask 项目,model.py 里需要导入主程序 app.py 中的 app,即 app = Flask(__name__),然后再 app.py 里又需要到导入 model.py 定义的数据结构来使用,这个时候就会报错,有什么解决方法吗?

也可以把app单独拿出来定义,然后其他包用的时候导入

from flask import Flask
app = Flask(__name__)

原则上不要循环引用,循环应用的可能会导致一个模块只加载了一半,最好是把相关的逻辑独立出去
或者可以考虑类似依赖注入的方式

比如

# b.py
x = None
...

# a.py
import b
b.x = ...

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19269.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月17日 - 16时53分25秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules