python - 配置参数未从其他位置读取
问题描述
该参数不会从 run.py 以外的文件中读取。run.py 是 Flask 启动脚本
从 run.py :
from flask import Flask
app = Flask(__name__)
print(app.config["PARAMETER"])
从项目中的任何其他 python 文件返回以下错误:
KeyError: 'PARAMETER'
如何从项目中除启动脚本文件之外的其他位置读取配置文件?
更新 :
读取配置文件:
app.config.from_pyfile(os.path.join(".", "myconfig.conf"))
myconfig.conf 的内容:
PARAMETER = "test"
解决方案
我认为您只是错过了加载参数。
如果您对参数进行内联加载,您可以将其指定为:
from flask import Flask
app = Flask(__name__)
app.config['PARAMETER_1'] = 'test'
assert app.config["PARAMETER_1"] == 'test'
上面的代码有效,现在如何从文件中加载类似的数据?
# prepare file
from pathlib import Path
Path("myconfig.conf").write_text("PARAMETER_2 = 'test2'\n")
# load it
app.config.from_pyfile("myconfig.conf")
# test it
assert app.config["PARAMETER_2"] == 'test2'
推荐阅读
- ios - 我的应用仅在 iOS 13+ 上的 Testflight 中崩溃
- reactjs - 如何在文本字段中按回车键时停止反应引导/@material ui 在 url 中插入获取参数
- javascript - Onload 和 onmouseout 事件的 Javascript 错误
- ios - Objective-C 如何从其他地方将对象添加到 NSMutableArray?
- javascript - 反应按钮 OnHover 更改数组内的图像
- c# - 在 ASP .Net 的一个 zip 文件夹中下载多个 csv 文件
- sql - Flink Create View 或 Table as Select
- angular - 每次按下添加购物车按钮时,我都会尝试在产品模板上显示产品数量
- python - Autokeras 在 Trial 1 后消耗所有 GPU
- java - 使用现有声音输入在 Java 中为 Windows 创建麦克风