首页 > 其他分享 >yaml/json/ini 配置读取

yaml/json/ini 配置读取

时间:2023-11-29 14:45:08浏览次数:31  
标签:option 配置文件 section db yaml json ini config ConfigParser

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": "无敌潇洒"
  }
}

标签:option,配置文件,section,db,yaml,json,ini,config,ConfigParser
From: https://www.cnblogs.com/luckyletop/p/17864793.html

相关文章

  • Web_XCTF_WriteUp | Training-WWW-Robots
    题目分析标题大致翻译:训练WWW网络爬虫。场景内部文段大致翻译:在这个小小的训练挑战中,您将学习Robots_exclusion_standard(网络爬虫排除标准)。robots.txt文件用于网络爬虫检查它们是否被允许抓取和索引您的网站或仅部分网站。有时,这些文件揭示了目录结构,而不是保护内......
  • Golang Gin 获取Restful参数、URL查询参数,Form 表单参数,JSON格式参数
    前言http请求中,可以通过URL查询参数提交数据到服务器,可以通过post的json方式,还有一直方式就是Form表单。Form表单相比URL查询参数,用户体验好,可以承载更多的数据,尤其是文件上传时,特别方便。这里推荐飞雪无情的博客;写了一些列的gin的使用教程,很时候新手学习如果想对gin有一个完整......
  • SQL SERVER JSON_QUERY JSON_VALUE
    response_json:{"code":"000","message":"成功","data":{"secretKey":"","content":"{\"rule_result\":{\"risk_level\&q......
  • INFINI Console 与华为鲲鹏完成产品兼容互认证
    何为华为鲲鹏认证华为鲲鹏认证是华为云围绕鲲鹏云服务(含公有云、私有云、混合云、桌面云)推出的一项合作伙伴计划,旨在为构建持续发展、合作共赢的鲲鹏生态圈,通过整合华为的技术、品牌资源,与合作伙伴共享商机和利益,助力合作伙伴与华为联合打造基于鲲鹏的联合解决方案,改变国产IT长......
  • wsl 创建服务 启动停止, init
    ////////////////////////////////////////////////运行//////////////////////////////////////////////////////////////////#!/bin/bash/opt/odoo16env/bin/python3/opt/www/odoo16pro/odoo-bin-c/opt/www/odoo16pro/odoo.conf-ibase/opt/odoo17env/bin/pyth......
  • 每日一练:css关键词:inherit、initial、revert、unset解释
    1、inherit(继承)inherit关键词用于将一个属性值设置为其父元素的相同属性值。它是一种实现样式继承的方式,使子元素继承父元素的样式属性。如果父元素没有明确定义该属性,子元素将继承到该属性的默认值。这个关键词通常用于处理文本属性,如文本颜色、字体等。<div><p>这是......
  • minikube 的搭建
    概述minikube是一个工具,能让你在本地运行Kubernetes。minikube在你的个人计算机(包括Windows、macOS和LinuxPC)上运行一个一体化(all-in-one)或多节点的本地Kubernetes集群,以便你来尝试Kubernetes或者开展每天的开发工作。前期准备CentOS7.9非root用户安装Docker......
  • INFINI Gateway 与华为鲲鹏完成产品兼容互认证
    何为华为鲲鹏认证华为鲲鹏认证是华为云围绕鲲鹏云服务(含公有云、私有云、混合云、桌面云)推出的一项合作伙伴计划,旨在为构建持续发展、合作共赢的鲲鹏生态圈,通过整合华为的技术、品牌资源,与合作伙伴共享商机和利益,助力合作伙伴与华为联合打造基于鲲鹏的联合解决方案,改变国产IT长......
  • 页面的json数据浏览器无法访问,还有什么别的办法获取数据?
    大家好,我是皮皮。一、前言前几天在Python钻石流群【空】问了一个Python网络爬虫的问题,一起来看看吧。问题描述:请教一个问题,页面的json数据浏览器无法访问,还有什么别的办法获取数据图片如下:这个问题看上去有点怪怪的。二、实现过程看上去代码倒是很简洁,没啥难度,这里【猫药......
  • # yyds干货盘点 # 页面的json数据浏览器无法访问,还有什么别的办法获取数据?
    大家好,我是皮皮。一、前言前几天在Python钻石流群【空】问了一个Python网络爬虫的问题,一起来看看吧。问题描述:请教一个问题,页面的json数据浏览器无法访问,还有什么别的办法获取数据图片如下:这个问题看上去有点怪怪的。二、实现过程看上去代码倒是很简洁,没啥难度,这里【猫药师Kelly】......