配置化---.ini文件和yaml文件的处理

Posted xiao-yin-30

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置化---.ini文件和yaml文件的处理相关的知识,希望对你有一定的参考价值。

1、.ini
1)格式:
[section] ---->区域名
Option = value ----->选项名等于值

2)读取.ini文件

A.引入configparser.py中的ConfigParser类
B.实例化:conf = ConfigParser()
C.读取配置文件:read()方法
conf.read(file, encoding=”utf-8”)
D.读取某一项配置:get()方法
value = conf.get(section,option)
E.支持读取出来为bool,int,float
conf.getint(section,option)
conf.getboolean(section,option)
conf.getfloat(section,option)
F.获取当前所有的section值与option值
conf.sections() conf.options()

3).ini写入数据:

a.在已有的section下面添加修改option和value
conf.set(section,option.value)
b.将a中的变更写入到配置文件
conf.write(open(file,”w”,encoding = “utf-8”))
c.添加新的section
conf.add_section(section)

4)封装.ini读取类
读取类继承ConfigParser类,传入参数file_path(ini文件的路径),重写__init__()
`
from configparser import ConfigParser
import os

class HandleConfig(ConfigParser):
def init(self, ini_file_neme):
super().init()
self.ini_file_neme = ini_file_neme

def __red_conf__(self):
    file_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), self.ini_file_neme)
    self.read(file_path, encoding="utf-8")

def get_log_name(self):               
    self.__red_conf__()
    return self.get("log", "log_name")

def get_log_level(self):
    self.__red_conf__()
    return self.get("log", "log_level")

def get_file(self):
    self.__red_conf__()
    return self.getboolean("log", "file")

`

2、.yaml
1)简述
(1)YAML是一种简洁的非标记语言
(2)YAML以数据为中心,使用空白,换行,缩进组织数据,从而使得表示更加简易
2)基本规则
1.大小写敏感
2.使用缩进表示层级关系
3.禁止使用TAB缩进,只能使用空格缩进
4.缩进长度没有限制,只要对齐就表示同一层级
5.使用#注释
6.字符串不用””/’’标注

3)数据的表示:
1.字典使用 ”:”
2.列表使用”-”
3.数值,字符串使用常量表示

4)yaml的读取
1.使用第三方库:pyyaml读取
2.安装第三方库 pip install pyyaml
3.读取:
(1)引入yaml模块:import yaml
(2)打开yaml文件:open()方法
(3)调用yaml.load()加载文件对象
Eg :
fs = open(file_yaml_path, encoding=”utf-8”)
s = yaml.load(fs.yaml.FullLoader)

















































以上是关于配置化---.ini文件和yaml文件的处理的主要内容,如果未能解决你的问题,请参考以下文章

Python配置文件管理之ini和yaml文件读取

yaml配置和ini配置的数据源配置和数据获取

3.springboot:springboot配置文件(配置文件YAML属性文件值注入<@Value@ConfigurationProperties@PropertySource,@Im(代码片

3springboot:springboot配置文件(配置文件YAML属性文件值注入<@Value@ConfigurationProperties@PropertySource,@Imp(代码片

paddle detection 配置文件怎么实例化的 代码梳理 -----(yaml)

2020-06-15关于iOS 使用yaml配置文件总结