python - 是否可以将类对象附加到“__all__”?
问题描述
Current Project Structure
---src
|__controllers
| |__ prediction.py
|
|__regression
|__ __init__.py
|__ deep_learning.py
deep_learning.py 包含一个我正在初始化模型的类。
目标
我的目标是在控制器目录中的 prediction.py 中使用 deep_learning 中的类对象。__init__.py 的当前代码
我尝试在回归目录中的 __init__.py 中添加以下代码:from deep_learning import predict
future_predict = predict()
__all__.append('future_predict')
这里的预测是包含在 deep_learning.py 中的类的名称。
预测的当前代码.py
from flask import Flask, render_template, request, send_from_directory
@app.route('/<filename>', methods=["POST"])
def predict(filename):
print("something: ", future_predict)
return send_from_directory(app.config['IMAGE_UPLOAD_PATH'], filename)
错误
future_predict
但是,我在 prediction.py中使用对象并没有成功。错误:NameError: name 'future_predict' is not defined
解决方案
有几个误解:
__all__
是一种定义可导入内容的方法- 您仍然需要导入这些符号!
- 你的包里
__init__.py
还需要一个controllers
通常,使用src
顶级目录的 Python 项目具有如下结构:
❯ tree src/
src/
└── project
├── __init__.py
├── package_1
│ └── __init__.py
├── package_2
│ └── __init__.py
└── package_3
└── __init__.py
4 directories, 4 files
推荐阅读
- asp.net-core - 错误的 appsettings 值在调试时进入 ConfigurationBuilder 对象
- python - 如何将 DateTime 对象与整数进行比较?
- python - 如果提交已经完成,你如何推送 pycharm?
- javascript - 验证在 Jquery 和 rails 中选择的复选框的长度
- android - 在没有 Google Play 的情况下更新 Android 应用程序
- java - 以整数计算的双精度表达式
- java - android上发布版本中的对象反序列化
- cakephp - CakePHP 集成TestTrait,测试文件上传
- wix - WIX IIS WebAppPool 未正确设置
- javascript - 选择后反应材料选择不显示值