python 读取 ini 配置文件

关于读取配置文件的想法  主要是因为程序里面通过改变变量值  达到不同的目的

如果写死  变成常量  如果下次领导说换一个玩法  还得去改代码  再重新编译一次  

开发过程中发现较关键的变量   最好是把它配置化  当然如果你来了  肯定也是为此

进入正题

config.ini

[test]

addr = https://172.16.101.46:8888

[test2]

addr = https://172.16.101.46:9999

写一个DEMO:

import configparser

config = configparser.ConfigParser() # 类实例化
path = './config.ini' # 定义文件路径

config.read(path)

section = config.sections()  # 读取文件中所有节点
print(section)

node = config.items('path')  # 读取指定节点下的所有项
print(node)

value = config.get('test', 'addr') # 读取指定节点下的某个项
print(value)

最后抽象成类便于以后使用,源码如下:

复制代码
import configparser
import logging


class Read_ini:

    def __init__(self, path='./config.ini'):
        try:
            # 读取配置
            self.cfg = configparser.ConfigParser()
            self.cfg.read(path, encoding='utf-8')

        except Exception as e:
            msg = "读取ini错误:" + str(e)
            logging.error(msg)

    def get_sections(self):
        """获取所有节点[xxx]"""
        try:
            sections = self.cfg.sections()
            return sections

        except Exception as e:
            msg = "未找到节点:" + str(e)
            logging.error(msg)  
复制代码
  def get_node(self,node):
        """获取节点下所有元素"""
        try:
            section = self.cfg.items(node)
            return section

        except Exception as e:
            msg = "未找到节点:" + str(e)
            logging.error(msg)
复制代码
def get_value(self, node, key):
        """获取元素值"""
        try:
            value = self.cfg.get(node, key)
            return value

        except Exception as e:
            msg = "未找到元素:" + str(e)
            logging.error(msg)
  
复制代码

参考:  https://www.cnblogs.com/XhyTechnologyShare/p/11935553.html

posted @   还是张先森  阅读(114)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示