yaml/json/ini 配置读取
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": "无敌潇洒"
}
}

yaml/json/ini 配置读取的更多相关文章
- Golang 入门系列(九) 如何读取YAML,JSON,INI等配置文件
实际项目中,读取相关的系统配置文件是很常见的事情.今天就来说一说,Golang 是如何读取YAML,JSON,INI等配置文件的. 1. json使用 JSON 应该比较熟悉,它是一种轻量级的数据交换 ...
- yaml,json,ini这三种格式用来做配置文件优缺点
适合人类编写:ini > toml > yaml > json > xml > plist可以存储的数据复杂度:xml > yaml > toml ~ jso ...
- .ini配置读取
ini文件的格式 格式 INI文件由节.键.值组成. 节 [section] 参数(键=值) name=value 注解 注解使用分号表示(;).在分号后面的文字,直到该行结尾都全部为注解. ...
- Go-如何读取yaml,json,ini等配置文件
1. json使用 JSON 应该比较熟悉,它是一种轻量级的数据交换格式.层次结构简洁清晰 ,易于阅读和编写,同时也易于机器解析和生成. 创建 conf.json: { "enabled&q ...
- 配置文件yaml和ini
前言 本文主要介绍配置文件yaml和ini的读取. 一.yaml文件 YAML是一个可读性高,易于理解,用来表达数据序列化的格式.语法与python的语法类似.文件后缀 .yaml 下面是yaml文 ...
- yaml配置和ini配置的数据源配置和数据获取
1.前言 关于yaml和ini的相关理论暂不做记录,不影响代码编写,百度即可. 2.关于配置文件的选择 yaml 和 ini 都使用过, 但是yaml更符合人类使用,已要弃用ini,后期各项目均采用y ...
- 【ASP.NET Core快速入门】(五)命令行配置、Json文件配置、Bind读取配置到C#实例、在Core Mvc中使用Options
命令行配置 我们通过vs2017创建一个控制台项目CommandLineSample 可以看到现在项目以来的是dotnet core framework 我们需要吧asp.net core引用进来,我 ...
- 菜鸟入门【ASP.NET Core】5:命令行配置、Json文件配置、Bind读取配置到C#实例、在Core Mvc中使用Options
命令行配置 我们通过vs2017创建一个控制台项目CommandLineSample 可以看到现在项目以来的是dotnet core framework 我们需要吧asp.net core引用进来 ...
- Python中yaml和json文件的读取和应用
Python对yaml和json文件的读取: yaml文件读取: 首先创建一个yaml文件test.yaml import yaml #引入包 f=open(path) #建立Python的文件 ...
- golang 读取 ini配置信息
package main //BY: 29295842@qq.com//这个有一定问题 如果配置信息里有中文就不行//[Server] ;MYSQL配置//Server=localhost ...
随机推荐
- Java安全机制之一——SecurityManager和AccessController
前言: 在看socket相关代码的时候,AbstractPlainSocketImpl中的一段代码吸引了我,其实之前见过很多次类似的代码,但一直不想去看,只知道肯定和权限什么的相关,这次既然又碰到了就 ...
- 最佳实践-使用Github Actions来构建跨平台容器镜像
公众号「架构成长指南」,专注于生产实践.云原生.分布式系统.大数据技术分享. 前言 最近在写K8s的相关系列文章,因为有涉及到镜像构建,发现在Mac m1的Arm架构下构建的部分镜像,没法在X86架构 ...
- PIR传感器选型及其使用介绍
(一)PIR简介 PIR传感器(Passive Infrared Sensor),即被动式红外传感器.它因为功耗低,价格低廉,使用简单从而被大量使用在门铃.猫眼.感应开关.小夜灯.安防等消费类产品上. ...
- .net core下优秀的日志框架使用解析,附源代码
在 .NET Core 中,日志是一个非常重要的组件,它可以帮助我们记录应用程序的运行情况,以便在出现问题时进行排查.在本文中,我们将介绍五个优秀的 .NET Core 日志框架,它们分别是 Seri ...
- Ubuntu下安装多个JDK,并设置其中一个为默认JDK
由于使用需要,要在机器上同时安装OpenJDK 8和11,并将8设置为默认JDK 首先安装OpenJDK sudo apt-get install openjdk-8-jdk sudo apt-get ...
- 使用React+SpringBoot开发一个协同编辑的表格文档
本文由葡萄城技术团队发布.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 前言 随着云计算和团队协作的兴起,协同编辑成为了许多企业和组织中必不可少的需求.通 ...
- [CF1416F] Showing Off
题目链接 如果把方向看做有向边,整个图是一个内向基环树. 所以考虑哪些点有可能放在基环树的非环部分上,当且仅当一个点周围有严格小于他的点. 由于图一定是二分图(黑白染色),没有奇环,所有偶环一定可以拆 ...
- JOISC2020题解
\(\text{By DaiRuiChen007}\) Contest Link A. Building 4 Problem Link 题目大意 给 \(2n\) 个数对 \((a_i,b_i)\), ...
- django+drf开发一些个人的标准化
最近在改造一下个人的开发风格.特分享一下. 子应用我一般放在apps中,每个不同模块的子应用起不同的名字.startapp后自己移动一下,记得修改一下Appconfig中的name即可. 子应用中创建 ...
- 98秒转录2.5小时音频,最强音频翻译神器IFW下载部署
IFW是一款功能强大的音频翻译工具,具备高速转录能力,能在短时间内完成大量音频处理,提高工作效率 以下是IFW在 Nvidia A100 - 80GB 上运行的一些基准测试: 最新中文版:https: ...