Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Flask和Python从配置文件读取属性_Python_Flask - Fatal编程技术网

使用Flask和Python从配置文件读取属性

使用Flask和Python从配置文件读取属性,python,flask,Python,Flask,从构建我正试图定义一个自定义配置文件,以便自定义我的Flask应用程序 运行代码: from flask import Flask app = Flask(__name__) import os my_config = app.config.from_pyfile(os.path.join('.', 'config/app.conf'), silent=False) @app.route('/') def hello_world(): with app.open_instance

从构建我正试图定义一个自定义配置文件,以便自定义我的Flask应用程序

运行代码:

from flask import Flask
app = Flask(__name__)

import os

my_config = app.config.from_pyfile(os.path.join('.', 'config/app.conf'), silent=False)

@app.route('/')
def hello_world():

    with app.open_instance_resource('app.cfg') as f:
        print(type(f.read()))

    return 'Hello World! {}'.format(app.config.get('LOGGING'))

if __name__ == '__main__':
    app.run()
在config/app.conf中添加了以下属性:

myvar1="tester"
myvar2="tester"
myvar3="tester"
调用
hello\u world()
函数的服务返回:

Hello World! None
不应该返回文件的内容而不是“无”吗

我尝试使用
app.config.get('myvar1')
访问属性,但在这种情况下也会返回
None

来自:

配置文件本身就是实际的Python文件。稍后,只有大写的值实际存储在config对象中因此请确保配置键使用大写字母。

因此,将结构变量
/config/app.conf
设置为:

VARIABLE_NAME = "variable value"
加载为:

app.config.from_pyfile(os.path.join(".", "config/app.conf"), silent=False)
注意:如果您没有使用特定于实例的配置,您实际上不需要构建路径,因为它将以Flask应用程序路径作为其根

然后访问值,如下所示:

app.config.get("VARIABLE_NAME")

Hi@zwer,如果值集中有反斜杠,那么在检索时它们会加倍。你能帮助解决这个问题吗?我已经提出了一个新的思路-