当前位置: 首页 > news >正文

python从环境变量和配置文件中获取配置参数

前言

从环境变量和配置文件中获取配置参数,相关库:

  • python-dotenv:第三方库,需要使用pip安装
  • configparser:标准库

代码

  • test.ini
[mysql]
host = "192.168.0.10"
port = 3306
user = "root"
password = "123456"
[postgresql]
host = "192.168.0.11"
port = 5432
user = "postgres"
password = "123456"
  • demo.py
from configparser import ConfigParser, NoSectionError, NoOptionError
from dotenv import load_dotenv
import os
# 如果存在环境变量的文件,则加载配置到环境变量
if os.path.exists("settings.env"):load_dotenv("settings.env")
os_env = os.environ
def read_config(filename: str) -> ConfigParser:"""从文件中读取配置信息Parameters----------filename : str, 配置文件 """# 实例化对象config = ConfigParser()if not os.path.exists(filename):raise FileNotFoundError(f"配置文件 {filename} 不存在")config.read(filename, encoding="utf-8")return config
def get_config(config: ConfigParser, section: str, key: str):"""根据指定section和key获取valueParameters----------config:  ConfigParser(), 配置实例对象section: str, 配置文件中的区域key:     str, 配置的参数名"""# 优先从环境变量中获取配置参数, 没有的话再从配置文件中获取value = os_env.get(key, "")if not value:try:value = config.get(section, key)except (NoOptionError, NoSectionError):# 没有的话就返回Nonevalue = Nonereturn value
if __name__ == '__main__':config = read_config("test.ini")print(get_config(config, "mysql", "host"))

相关文章:

  • 【面板数据】A股上市公司注册地所在地数据集(1991-2023年)
  • 【免费分享】GWO-BP-AdaBoost预测!灰狼优化、人工神经网络与AdaBoost集成学习算法预测研究
  • 梨泛转录组-文献精读145
  • 基于MATLAB的车牌检测系统:传统图像处理与深度学习的创新融合
  • 使用GpuGeek训练图像分类器:从入门到精通
  • Python实现下载监控工具:自动检测并移动下载文件
  • 计算机视觉与深度学习 | 低照度图像增强算法综述(开源链接,原理,公式,代码)
  • Day53 Python打卡训练营
  • Python Day50
  • 04 - CoordAttention模块
  • Python图片格式转换工具深度解析[附源码】
  • 完整强化学习教程:基于4x4网格世界的智能体探索之旅(一)
  • 2025-06-13【视频处理】基于视频内容转场进行分割
  • 动态规划算法的欢乐密码(二):路径问题
  • Spring Cloud Gateway + JWT 单点登录实现方案(无独立的认证服务器)
  • 最新 Python-PLAXIS 自动化建模技术与典型岩土工程案例实践应用
  • 搭建网站应该怎样选择服务器?
  • 轻量级密码算法LED的C语言实现(无第三方库)
  • 造成服务器宕机的原因都有哪些?
  • SpringBoot 服务器监控 监控系统开销 获取服务器系统的信息用户信息 运行信息 保持稳定
  • 一起做网店货源/seo网络优化师招聘
  • 在国外做盗版电影网站吗/企业seo关键词优化
  • 信誉好的龙岗网站设计/seo推广网址
  • 杜桥做网站哪家好/搜索引擎营销的简称
  • 网站设计公司 -/seo推广收费标准
  • 网站平台怎么建立的/百度快速收录账号购买