配置windows update(配置windows update%0)

一、源代码

Flask是常用的Python WEB框架, 加载配置文件涉及类Config,源代码路径/Lib/site-packages/flask/config.py

config.py

注意事项:源码注释中明确指出,各配置项命名必须大写,否则将无法生效,这也是新手需要注意的地方。

二、Flask加载配置文件的几种方式

通过阅读源代码,我们可以总结得出如下几种加载配置文件的方式:

方式一:from_pyfile

从文件中加载,文件可以是.py、.cfg、.txt等,需要注意的是文件的内容需要符合python语法。

示例:

test_app = Flask(__name__)

test_app.config.from_pyfile("D://test_python//my_flask.cfg")

my_flask.cfg文件

方式二: from_envvar

从环境变量中加载配置文件,需要先设置环境变量,环境变量的值为配置文件的路径,例如:

set FLASK_CONFIG = D:/test_python/my_flask.cfg

示例:

test_app = Flask(__name__)

test_app.config.from_envvar("FLASK_CONFIG")

需要注意的是,WINDOWS环境下设置环境变量需要重启主机才能生效。

方式三:from_json

从json格式文件中加载配置文件。

示例:

test_app.config.from_json("D://test_python//my_flask_json.txt")

my_flask_json.txt

文件中的内容必须是规范标准的JSON格式。

方式四:from_mapping

从字典变量中加载配置。

示例:

test_app.config.from_mapping({"HOST" : "127.0.0.1","PORT": 8009,"REDIS_HOST" : '127.0.0.1',"REDIS_PORT" : 7100,"REDIS_PASSWD" : 123456,"REDIS_DB" : 0}

方式五:from_object

从对象中加载配置,这也是项目中经常用到的方式。

class Config:

HOST = '127.0.0.1'

PORT = 8008

DEBUG = False

test_app.config.from_object(Config)

三、更新配置文件

如果我们想要在系统启动之后,修改或者新增配置项,应该如何操作呢?最简单的方式就是参考方式四,调用from_mapping方法。

test_app.config.from_mapping({"WX_VERSION":”1.0.1”} #新增或者覆盖WX_VERSION配置

四、get_namespace

在给配置项命名的时候,通常给同一组的配置项以相同的前缀,比如Redis配置:

REDIS_HOST = '127.0.0.1'

REDIS_PORT= 7100

REDIS_PASSWD = 123456

REDIS_DB = 0

此时,若希望获取Redis相关的配置,则可以使用get_namespace方法,例如:

test_app.config.get_namespace('REDIS_')

输出结果如下:

{'db': 0, 'host': '127.0.0.1', 'passwd': 123456, 'port': 7100}