yaml/json/ini 配置读取

发布时间 2023-11-29 14:39:40作者: 乐乐乐乐乐乐樂
ConfigParser 安装

ConfigParser 是解析配置文件的第三方库,须要安装 pip install ConfigParser

pip install ConfigParser
ConfigParser 介绍

ConfigParser是用来读取配置文件(能够是.conf,txt,ini)的包

配置文件的格式如下:中括号'[]'内包含的为section。section下面为option,相似于key-value的配置内容

ConfigParser 常见函数
-read(filename)直接读取配置文件内容
-sections()获得全部的section,并以列表的形式返回
-options(section)获得该section的全部的option
-items(section)获得该section的全部键值对
-get(section,option)获得section中optiond的值,返回为string类型
-getint(section,option) 获得section中option的值,返回为int类型,还有相应的getboolean()和getfloat() 函数。
Configparser用法

t2.ini

[db]
db_host = 127.0.0.1
db_port = 22
db_user = root
db_pass = rootroot

[concurrent]
thread = 10
processor = 20

t1.py

from configparser import ConfigParser

# 创建一个配置解析器对象
config = ConfigParser()

# 读取配置文件
config.read('t2.ini')

# 获取全部sections。也就是将配置文件中全部'[]'读取到列表中
data = config.sections()
print('section:', data)

# 获取指定section的options。即将配置文件某个section内key读取到列表中
data2 = config.options('db')
print('options:',data2)

# 获取指定section的全部配置信息。返回列表,列表的元素是key,value组成的元组
data3 = config.items('db')
print('db',data3)

# 按照类型读取指定section的option信息
db_host = config.get('db','db_host')
print(db_host)

# 当查找不到指定的section或者option时,会抛出异常
try:
    db_host1 = config.get('db', 'db_host1')
    print(db_host1)
except Exception as e:
    print(e)



Yaml读取配置文件
import yaml

with open('t4.yaml', 'r') as f:
    config = yaml.safe_load(f)

# 访问配置项的值
value = config['DEFAULT']['some_option']
print(f'The value of some_option is: {value}')
DEFAULT:
  some_option: 'LuckyleTop'

Json读取配置文件
import json

with open('t5.json', 'r',encoding='utf-8') as f:
    config = json.load(f)

# 访问配置项的值
value = config['DEFAULT']['some_option']
print(f'The value of some_option is: {value}')
{
  "DEFAULT": {
    "some_option": "无敌潇洒"
  }
}