我是靠谱客的博主 端庄花瓣,最近开发中收集的这篇文章主要介绍【Python】ini 与 yaml 配置文件的读取和写入,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

新建一个配置文件

  • 配置文件的优点:将所有的代码吗和配置都变成模块化可配置化,这样能够提高代码的重用性。

  • 配置文件的命名:一般以ini , conf ,yaml ,cfg 结尾。

  • 格式:由配置块和配置项组成,例如下方的 appsetting.ini 文件

    # 这里是日志相关的配置
    [log]
    # 日志收集器的等级
    level = DEBUG
    # 输出到日志文件的等级
    fh_level = WARNING
    # 记录日志的文件名字
    filename = all.log
    # 输出到控制台的等级
    sh_level = DEBUG
    [test]
    # 测试正整数类型
    num = 123
    # 测试浮点数
    floatnum = 3.14
    # 测试布尔值
    boolstr = true
    [info]
    

配置文件的读取

from configparser import ConfigParser

class ConfigHandle(ConfigParser):
    def __init__(self, filename):
        super().__init__()
        self.read(filename, encoding='utf-8')

conf = ConfigHandle(r'E:PycharmProjectsInterface_auto_testconfappsetting.ini')
# 使用get方法获取配置文件中的值,返回都是str类型
print(conf.get('log', 'sh_level'))  # 结果:(str)DEBUG
# 使用getint只能够获取int类型的值,否则会报错。返回int类型的值
print(conf.getint('test', 'num'))  # 结果:(int)123
# 使用getfloat只能够获取float类型的值,否则会报错。返回float类型的值
print(conf.getfloat('test', 'floatnum'))  # 结果:(float)3.14
# 使用getboolean只能够获取布尔类型的值,否则会报错。
# 不论是大写还是小写的true,false,都回返回标准格式的True和False
print(conf.getboolean('test', 'boolstr'))  # 结果:(bool)True

配置文件的写入

# 使用conf 写入配置数据,较少用
conf.set('info', 'name', 'kaishui')
# 打开文件的模式必须为 w,否则会将之前的数据再次写入
conf.write(fp=open(r'E:PycharmProjectsInterface_auto_testconfappsetting.ini', 'w', encoding='utf-8'))  # 结果:写入成功

YAML文件的操作

yaml文件格式:

info:
  name: kaishui
  gender: female
log:
  level: DEBUG
  fh_level: WARNING
  sh_level: INFO
test:
  host: 127.0.0.1
  port: 8080
  dict: {
          a: 100,
          b: 400
}
  list: [11,44,55,77,66]
  boolstr: true

注:‘:’之后有一个空格和值区分开来

yaml 配置文件读取数据

  • 首先需要安装yaml模块,使用命令:pip install pyyaml
  • 安装完成后,导入该模块:import yaml
with open(r'E:PycharmProjectsInterface_auto_testconfmyyaml.yaml', 'r', encoding='utf-8') as f:
    file = yaml.load(f, Loader=yaml.FullLoader)
    for item in file.items():
        print(item)
    ‘’‘
    结果:
    ('info', {'name': 'kaishui', 'gender': 'female'})
('log', {'level': 'DEBUG', 'fh_level': 'WARNING', 'sh_level': 'INFO'})
('test', {'host': '127.0.0.1', 'port': 8080, 'dict': {'a': 100, 'b': 400}, 'list': [11, 44, 55, 77, 66], 'boolstr': True})
    ’‘’

使用yaml配置文件的优点

  • 在yaml文件中,值为字典和列表时填写较为方便
  • yaml文件读取出来的数据的数据类型会根据数据进行动态改变,例如123读取出来为int类型,true读取出来为bool类型。

最后总结一下:
如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入:软件测试技术群:593462778,群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。

作者:暗潮汹涌
原创不易,欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。

最后

以上就是端庄花瓣为你收集整理的【Python】ini 与 yaml 配置文件的读取和写入的全部内容,希望文章能够帮你解决【Python】ini 与 yaml 配置文件的读取和写入所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部