gpt4 book ai didi

python - 如何在 config.ini 文件中加载环境变量?

转载 作者:太空宇宙 更新时间:2023-11-04 04:26:55 53 4
gpt4 key购买 nike

我有一个包含一些属性的 config.ini 文件,但我想读取配置文件中的环境变量。

[section1]
prop1:(from envrinment variable) or value1

这可能吗,还是我必须编写一个方法来解决这个问题?

最佳答案

我知道这对聚会来说已经晚了,但有人可能会发现这很方便。您要问的是 value interpolationos.environ 的结合。

金字塔?

这样做的逻辑是不寻常的,通常如果一个人有一个金字塔服务器(由开箱即用的配置文件读取),同时想要模仿一个 django 服务器(总是设置为读取操作系统),就会发生这种情况.环境)。
如果您使用的是金字塔,那么 pyramid.paster.get_app 具有参数选项:如果您将 os.environ 作为字典传递,则可以在 ini 中使用 %(variable)s。并不是说这不是特定于 pyramid.paster.get_app 的,正如下一节所示(但我的猜测是 get_app 就是这种情况)。

应用.py

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 basic interpolation .

假设我有一个名为 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))

关于python - 如何在 config.ini 文件中加载环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53329674/

53 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com