zoukankan      html  css  js  c++  java
  • python常识系列06-->configparser模块应用

    前言

       当你还不能对自己说今天学到了什么东西时,你就不要去睡觉。——利希顿堡
    

    一、configparser模块是什么

    • 可以用来操作后缀为 .ini 的配置文件;
    • python标准库(就是python自带的意思,无需安装)

    二、configparser模块基本使用

    • 2.1 读取 ini 配置文件
    #存在 config.ini 配置文件,内容如下:
    [DEFAULT]
    excel_path = ../test_cases/case_data.xlsx
    log_path = ../logs/test.log
    log_level = 1
    
    [email]
    user_name = 32@qq.com
    password = 123456
    

    使用configparser模块读取配置文件

    import configparser
    
    #创建配置文件对象
    conf = configparser.ConfigParser()
    #读取配置文件
    conf.read('config.ini', encoding="utf-8")
    #列表方式返回配置文件所有的section
    print( conf.sections() )    #结果:['default', 'email']
    #列表方式返回配置文件email 这个section下的所有键名称
    print( conf.options('email') )    #结果:['user_name', 'password']
    #以[(),()]格式返回 email 这个section下的所有键值对
    print( conf.items('email') )    #结果:[('user_name', '32@qq.com'), ('password', '123456')]
    #使用get方法获取配置文件具体的值,get方法:参数1-->section(节) 参数2-->key(键名)
    value = conf.get('default', 'excel_path')
    print(value)
    
    • 2.2 写入 ini 配置文件(字典形式)
    import configparser
    
    #创建配置文件对象
    conf = configparser.ConfigParser()
    #'DEFAULT'为section的名称,值中的字典为section下的键值对
    conf["DEFAULT"] = {'excel_path' : '../test_cases/case_data.xlsx' , 'log_path' : '../logs/test.log'}
    conf["email"] = {'user_name':'32@qq.com','password':'123456'}
    #把设置的conf对象内容写入config.ini文件
    with open('config.ini', 'w') as configfile:
        conf.write(configfile)
    
    • 2.3 写入 ini 配置文件(方法形式)
    import configparser
    
    #创建配置文件对象
    conf = configparser.ConfigParser()
    #读取配置文件
    conf.read('config.ini', encoding="utf-8")
    #在conf对象中新增section
    conf.add_section('webserver')
    #在section对象中新增键值对
    conf.set('webserver','ip','127.0.0.1')
    conf.set('webserver','port','80')
    #修改'DEFAULT'中键为'log_path'的值,如没有该键,则新建
    conf.set('DEFAULT','log_path','test.log')
    #删除指定section
    conf.remove_section('email')
    #删除指定键值对
    conf.remove_option('DEFAULT','excel_path')
    #写入config.ini文件
    with open('config.ini', 'w') as f:
        conf.write(f)
    
    • 上述3个例子基本阐述了configparser模块的核心功能项;
    • 例1中,encoding="utf-8"为了放置读取的适合中文乱码;
    • 例2你可以理解为在字典中新增数据,键:配置文件的section,字符串格式;值:section的键值对,字典格式;
    • 例3中在使用add_section方法时,如果配置文件存在section,则会报错;而set方法在使用时,有则修改,无则新建。
  • 相关阅读:
    SGU 127. Telephone directory --- 模拟
    SGU 126. Boxes --- 模拟
    SGU 128. Snake --- 暴力枚举+并查集+贪心+计算几何
    Codeforces Round #246 (Div. 2) B. Football Kit
    Codeforces Round #252 (Div. 2) C. Valera and Tubes
    Codeforces Round #251 (Div. 2) C. Devu and Partitioning of the Array
    codeforces --- Round #250 (Div. 2) B. The Child and Set
    codeforces --- Round #250 (Div. 2) A. The Child and Homework
    AFNetworking 动态修改acceptableContentTypes 设置ContentType
    swift pod第三方OC库使用use_frameworks!导致#import提示无法找到头文件
  • 原文地址:https://www.cnblogs.com/dream66/p/12605038.html
Copyright © 2011-2022 走看看