配置文件yaml和ini
前言
本文主要介绍配置文件yaml和ini的读取。
一、yaml文件
YAML是一个可读性高,易于理解,用来表达数据序列化的格式。语法与python的语法类似。文件后缀 .yaml
下面是yaml文件的举例说明:
- 以类似key-value的形式,蓝色字体的是key,绿色字体的是value
- 冒号:的后面要打一个空格,不然识别不到
- value的值如果是字符串,建议加上引号
- 如果value是字典,可以按照下面的两种方式存储
- 如果value是一个列表,需要在前面加上 “-” 或者以列表的形式 [1,2,3] 存储

需要安装第三方库,pip install pyyaml
代码如下:
import yaml def yaml_read():
with open("./read.yaml",encoding="utf8")as f:
m = yaml.safe_load(f)
return m m = yaml_read()
print(m)
读取的结果:
{
'url': 'www.baidu.com',
'database': {'user': 'root', 'password': '123456'},
'db2':
{'user': 'root',
'password': '123456',
'w': 1111},
'list1': [1, 2, 3],
'list2': [1, 2, 3]
}
二、ini文件
ini文件的后缀名为“.ini”。如下所示为ini文件的举例说明
- 以key-value形式存储,等号前面是Key,等号后面是value
- 所有的value都为字符串
- []中的是分组section,文件中有一个默认的分组default,key是option

文件代码,需要导入python内置的configparser库
import configparser def ini_read():
parser = configparser.ConfigParser()
#通过解析器对象读取文件
parser.read("read.ini",encoding="utf8")
#获取数据
data=parser.get("db","user")
return data data = ini_read()
print(data)
ini配置文件的缺点
- 需要频繁通过section和option参数获取值
- 支持的数据类型有限,需要通过类型转换获取相应的数据
配置文件yaml和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 ...
- Go-如何读取yaml,json,ini等配置文件
1. json使用 JSON 应该比较熟悉,它是一种轻量级的数据交换格式.层次结构简洁清晰 ,易于阅读和编写,同时也易于机器解析和生成. 创建 conf.json: { "enabled&q ...
- 配置文件操作(ini、cfg、xml、config等格式)
配置文件的格式主要有ini.xml.config等,现在对这些格式的配置文件的操作(C#)进行简单说明. INI配置文件操作 调用系统函数GetPrivateProfileString()和Write ...
- mongodb3.2配置文件yaml格式 详解
mongodb3.x版本后就是要yaml语法格式的配置文件,下面是yaml配置文件格式如下:官方yaml配置文件选项参考:https://docs.mongodb.org/manual/ ... #c ...
- PHP 错误与异常 笔记与总结(3)PHP 配置文件(php.ini)中与错误相关的选项 与 设置错误级别
[PHP 配置文件中与错误相关的选项 ] 选项 描述 error_reporting 设置错误报告的级别 display_errors 是否显示错误 log_errors 设置是否将错误信息记录到日志 ...
- springBoot第二种配置文件yaml书写方式及读取数据、整合myBatis和整合junit
一.yaml文件格式:key-value形式:可以表示对象 集合 1.语法:key:value 冒号后面必须跟一个空格再写value值 key1: key2: key3:value 2.属性取值:a. ...
- .NET程序配置文件操作(ini,cfg,config)
在程序开发过程中,我们一般会用到配置文件来设定一些参数.常见的配置文件格式为 ini, xml, config等. INI .ini文件,通常为初始化文件,是用来存储程序配置信息的文本文件. [Log ...
- Linux下用C读取配置文件。类似ini这样。
Introduction ccl is the customizable configuration library, a collection of functions for applicatio ...
随机推荐
- 什么是hive的静态分区和动态分区,它们又有什么区别呢?hive动态分区详解
面试官问我,什么是hive的静态分区和动态分区,这题我会呀. 简述 分区是hive存放数据的一种方式,将列值作为目录来存放数据,就是一个分区,可以有多列. 这样查询时使用分区列进行过滤,只需根据列值直 ...
- java-注释、API之字符串(String)
/** * 文档注释只定义在三个地方 : 类.常量.方法上 * 在类上定义文档注释用来说这个类设计及其解决问题等相关描述信息 * @author 作者 * @version 1.0 21/08/17 ...
- 对于Java中的Loop或For-each,哪个更快
Which is Faster For Loop or For-each in Java 对于Java中的Loop或Foreach,哪个更快 通过本文,您可以了解一些集合遍历技巧. Java遍历集合有 ...
- 面试突击75:SpringBoot 有几种读取配置文件的方法?
Spring Boot 中读取配置文件有以下 5 种方法: 使用 @Value 读取配置文件. 使用 @ConfigurationProperties 读取配置文件. 使用 Environment 读 ...
- python中的画图神器——turtle模块
turtle库的基础命令介绍(1)画布画布cancas是绘图区域,可以设置它的大小和初始位置 turtle.screensize(1000,600,'red') 大小的设置 turtle.setup( ...
- 【Java】学习路径47-线程锁synchronized
线程安全问题: 简单来说,就是多个线程在操作同一个变量时引起的问题. 这里是用一个简单的例子说明一下: 以Runnable创建的线程为例:一个售票系统,count代表当前票数,卖出一张count--. ...
- qt unknown type name编译报错记录
在classA中include class B,然后定义成员变量的时候,报错unknown type name了. 一共有两种可能造成这种问题: 1.circle include,同时在classA中 ...
- ping: sina.cn: Name or service not known
该方法针对Ubuntu18及以后版本. 第一次遇到ping:报错Name or service not known这个问题在百度上找了很久说的都是什么修改 /etc/resolv.conf,但每次修改 ...
- 闭包 与 js内存管理
参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Memory_Management https://blog ...
- 高性能 Java 计算服务的性能调优实战
作者:vivo 互联网服务器团队- Chen Dongxing.Li Haoxuan.Chen Jinxia 随着业务的日渐复杂,性能优化俨然成为了每一位技术人的必修课.性能优化从何着手?如何从问题表 ...