【Python】配置文件的读取和写入

£神魔★判官ぃ 2023-06-19 01:59 118阅读 0赞

文章目录

      • 安装ConfigParser
      • 新建一个配置文件
      • 配置文件的读取
      • 配置文件的写入
      • YAML文件的操作
        • yaml文件格式:
        • yaml 配置文件读取数据
        • 使用yaml配置文件的优点

安装ConfigParser

要使用配置文件,首先要安装相关扩展来读取配置文件。
安装方法:进入cmd,输入命令pip install ConfigParser

安装成功之后就能够使用ConfigParser了。

新建一个配置文件

  • 配置文件的优点:将所有的代码吗和配置都变成模块化可配置化,这样能够提高代码的重用性。
  • 配置文件的命名:一般以ini , conf ,yaml ,cfg 结尾。
  • 格式:由配置块和配置项组成,例如下方的 appsetting.ini 文件

    1. # 这里是日志相关的配置
    2. [log]
    3. # 日志收集器的等级
    4. level = DEBUG
    5. # 输出到日志文件的等级
    6. fh_level = WARNING
    7. # 记录日志的文件名字
    8. filename = all.log
    9. # 输出到控制台的等级
    10. sh_level = DEBUG
    11. [test]
    12. # 测试正整数类型
    13. num = 123
    14. # 测试浮点数
    15. floatnum = 3.14
    16. # 测试布尔值
    17. boolstr = true
    18. [info]

配置文件的读取

  1. from configparser import ConfigParser
  2. class ConfigHandle(ConfigParser):
  3. def __init__(self, filename):
  4. super().__init__()
  5. self.read(filename, encoding='utf-8')
  6. conf = ConfigHandle(r'E:\PycharmProjects\Interface_auto_test\conf\appsetting.ini')
  7. # 使用get方法获取配置文件中的值,返回都是str类型
  8. print(conf.get('log', 'sh_level')) # 结果:(str)DEBUG
  9. # 使用getint只能够获取int类型的值,否则会报错。返回int类型的值
  10. print(conf.getint('test', 'num')) # 结果:(int)123
  11. # 使用getfloat只能够获取float类型的值,否则会报错。返回float类型的值
  12. print(conf.getfloat('test', 'floatnum')) # 结果:(float)3.14
  13. # 使用getboolean只能够获取布尔类型的值,否则会报错。
  14. # 不论是大写还是小写的true,false,都回返回标准格式的True和False
  15. print(conf.getboolean('test', 'boolstr')) # 结果:(bool)True

配置文件的写入

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

YAML文件的操作

yaml文件格式:

  1. info:
  2. name: kaishui
  3. gender: female
  4. log:
  5. level: DEBUG
  6. fh_level: WARNING
  7. sh_level: INFO
  8. test:
  9. host: 127.0.0.1
  10. port: 8080
  11. dict: {
  12. a: 100,
  13. b: 400
  14. }
  15. list: [11,44,55,77,66]
  16. boolstr: true

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

yaml 配置文件读取数据

  • 首先需要安装yaml模块,使用命令:pip install pyyaml
  • 安装完成后,导入该模块:import yaml

    with open(r’E:\PycharmProjects\Interface_auto_test\conf\myyaml.yaml’, ‘r’, encoding=’utf-8’) as f:

    1. file = yaml.load(f, Loader=yaml.FullLoader)
    2. for item in file.items():
    3. print(item)
    4. ‘’‘
    5. 结果:
    6. ('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})

    1. ’‘’

使用yaml配置文件的优点

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

发表评论

表情:
评论列表 (有 0 条评论,118人围观)

还没有评论,来说两句吧...

相关阅读