2020年6月19日--15--配置文件处理+ini文件和yaml文件

1.读取ini文件的配置数据

'''
日志的名字
日志的级别
日志的文件-级别
日志的控制台-级别
日志的文件路径

可配置话-----软编码和硬编码
硬编码:直接将路劲写死,不可修改的
python 自带的是:  .ini文件
还有一个数据表达的是:yaml

.ini文件的格式
[section]   # 区域
option=value   # 键=值
option=value   # 键=值
option=value   # 键=值

[section]   # 区域   可以有多个[section]值
option=value   # 键=值
option=value   # 键=值
option=value   # 键=值
'''

'''
==================================
cooding:utf-8
@Time    :2020/6/20  15:21
@Author  :henry
@Email   :yinpingwei@gmail.com
@File    :读取ini文件的配置数据.py
@Software:PyCharm
===================================
'''

# 1.创建一个,ini的配置文件。
# [section]   # 区域
# option=value   # 键=值

# 2.python读取ini文件的数据

#     2.1 引入ConfigParser类
from configparser import ConfigParser     # 引入ConfigParse

#     2.2 实例化ConfigParser类,
conf = ConfigParser()

# ConfigParser类读取文件操作:red(重点掌握)
#     2.3 调用read方法,读取文件:格式 conf.read(读取的文件,编码格式)
conf.read('new_config.ini',encoding='utf-8')  # 读取配置文件,编码格式

#     2.4 读取某一项配置值,get方法默认读出来是str类型:格式 conf.get(section名字,option名字)
value = conf.get('新登录测试日志','name')   # 使用get方法读取值
print(value)     # get 读取出来的都是str类型

#     2.5 取某一项配置值,getboolean方法默认读出来是bool类型:格式 conf.getboolean(section名字,option名字)
value = conf.getboolean('新登录测试日志','file_ok')
print(value)     # getboolean 读取出来的都是boolr类型

#     2.6  取某一项配置值,getint方法默认读出来是int类型:格式 conf.getint(section名字,option名字)
value = conf.getint('新登录测试日志','nan')
print(value)     # getint 读取出来的都是int类型

#     2.7  取某一项配置值,getfloat方法默认读出来是float类型:格式 conf.getint(section名字,option名字)
value = conf.getfloat('新登录测试日志','nan')
print(value)     # getfloat 读取出来的都是float类型

#     2.8 获取当前所有的section值和option值
s1 = conf.sections()    # 拿到sections的所有值
print(s1)
s = conf.options('新登录测试日志')   # 拿到'log'下面的所有值
print(s)

# ConfigParser类写入:set/write(仅做 了解即可)
# 1.在已有section下添加/修改option和value:格式  conf.set(section,option,value)
# a = conf.set('log','file_name','py303030.log')

# 2.将1中的变更写入到配置文件当中:格式  conf.write(open(写入的文件,'w',encoding='utf-8'))
# conf.write(open('new_config.ini','w',encoding='utf-8'))   # 是以覆盖的形式

# 3.若要新增section:格式   conf.add_section(section名字)

配置的日志属性(ini文件)
ini文件

2.yaml文件-数据表达

'''
==================================
cooding:utf-8
@Time    :2020/6/20 17:53
@Author  :henry
@Email   :yinpingwei@gmail.com
@File    :yaml文件-数据表达.py
@Software:PyCharm
===================================
'''

'''
Yaml是一种非常简洁的非标准语言
以数据为中心,使用空白,缩进,分行组织数据,从而使得表达更加简洁易懂

基本规则:
1.大小写敏感
2.使用缩进表示层级关系
3.禁止使用tab缩进,只能使用空格键
4.缩进长度没有限制,只要元素对齐就表示这些元素属于一个层级
5.使用#表示缩进
6.字符串可以不用引号标注

Yam文件:3种数据类型
1.字典:
使用冒号(:)表示键值对,同一缩进的所有键值对属于一个map
方式一:(注意冒号后的空格)
plname:Ando
planionl:5.1

2.列表
使用连字符(-)表示,注意-后的空格
- hello
- world

3.scalar,存量
    字符串、数字、布尔值、不可变数据类型
        
python 读取yaml文件中的数据
1.第三方库:pyyaml模块
2.安装:pip install pyyaml
3.从yaml文件读取数据只有三步:
    3.0. 引入yaml:   import yaml
    3.1. 打开yaml文件:open函数
    3.2.调用yaml.load加载文件,为python对象
    
示例:
fs = open(yaml文件路径,编码格式)
s = yaml.load(fs,yaml.FullLoader)
'''

# python 读取yaml文件中的数据

# 1.引入yaml:   import yaml
import yaml

# 2.打开yaml文件:open函数
with open('handle.yaml',encoding='utf-8') as fs:   # 打开这个文件
    # 3.调用yaml.load加载文件, 为python对象
    data = yaml.load(fs,yaml.FullLoader)   # 读取这个文件后用一个变量接收
    print(data)
    for key,value in data.items():
        print(key)
        print(value)

配置的日志属性(yaml文件)
yaml文件格式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值