簡體   English   中英

如何在 config.ini 文件中加載環境變量?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM