码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-06-24 12:24:47      阅读:50      评论:0      收藏:0      [点我收藏+]

标签:add   load()   ret   value   tab   parser   对齐   安装   encoding   

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文件的处理

标签:add   load()   ret   value   tab   parser   对齐   安装   encoding   

原文地址:https://www.cnblogs.com/xiao-yin-30/p/13186544.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!