[英]How to load environment variables in a config.ini file?
我有一个包含一些属性的 config.ini 文件,但我想读取配置文件中的环境变量。
[section1]
prop1:(from envrinment variable) or value1
这是可能的还是我必须编写一种方法来解决这个问题?
我知道这已经晚了,但有人可能会觉得这很方便。 您要问的是值插值与os.environ相结合。
这样做的逻辑是不寻常的,如果有一个金字塔服务器(由一个开箱即用的配置文件读取)同时想要模仿一个 django 服务器(它总是被设置为读取 os.environ),就会发生这种情况。 .
如果您使用金字塔,则 pyramid.paster.get_app 有参数选项:如果您将 os.environ 作为字典传递,您可以在 ini 中使用%(variable)s
。 不,这不是特定于pyramid.paster.get_app
作为下一个部分节目(但我的猜测是get_app
是如此)。
应用程序
from pyramid.paster import get_app
from waitress import serve
import os
app = get_app('production.ini', 'main', options=os.environ)
serve(app, host='0.0.0.0', port=8000, threads=50)
生产.ini:
[app:main]
sqlalchemy.url = %(SQL_URL)s
...
以上是使用configparser 基本插值。
假设我有一个名为config.ini
的文件
[System]
conda_location = %(CONDA_PYTHON_EXE)
以下将工作...
import configparser, os
cfg = configparser.ConfigParser()
cfg.read('config.ini')
print(cfg.get('System', 'conda_location', vars=os.environ))
我认为:thinking_face,使用 .env 并在 config.py from dotenv import load_dotenv()
和下一行load_dotenv()
,它将从 .env 文件加载 envs
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.