zoukankan      html  css  js  c++  java
  • python读写修改配置文件(ini)

    示例ini配置文件(setting.ini)

    [txtA]
    name = comma,end,full,run
    comma = 1000
    end = 3
    full = 2
    run = 1
    default_comma = 3
    default_end = 3
    default_full = 2
    default_run = 1
    
    [txtB]
    name = comma,end,full,run
    comma = 1000
    end = 3
    full = 2
    run = 1
    default_comma = 3
    default_end = 3
    default_full = 2
    default_run = 1
    
    [chinese]
    name = volume,tones,speed,spokesman
    volume = 5
    tones = 5
    speed = 5
    spokesman = 1
    default_volume = 5
    default_tones = 5
    default_speed = 5
    default_spokesman = 1
    
    [english]
    name = volume,tones,speed,spokesman
    volume = 5
    tones = 5
    speed = 5
    spokesman = 1
    default_volume = 5
    default_tones = 5
    default_speed = 5
    default_spokesman = 1
    
    [help]
    
    [about]
    

      

    示例ini配置文件操作程序1:

    使用configparser函数,缺点:增删、修改都是重写ini文件操作

    import configparser
    import os
    
    
    # *** 初始化配置文件路径 *** #
    curpath = os.path.dirname(os.path.realpath(__file__))   # 当前文件路径
    inipath = os.path.join(curpath, "setting.ini")                # 配置文件路径(组合、相对路径)
    
    # *** 数据读取 *** #
    conf = configparser.ConfigParser()
    conf.read(inipath, encoding="utf-8")
    # sections = conf.sections()              # 获取所有的sections名称
    # options = conf.options(sections[0])     # 获取section[0]中所有options的名称
    # items = conf.items(sections[0])         # 获取section[0]中所有的键值对
    # value = conf.get(sections[-1],'txt2')   # 获取section[-1]中option的值,返回为string类型
    # value1 = conf.getint(sections[0],'comma')         # 返回int类型
    # value2 = conf.getfloat(sections[0],'end')         # 返回float类型
    # value3 = conf.getboolean(sections[0],'run')       # 返回boolen类型
    
    # *** 删除内容 *** #
    # conf.remove_option(sections[0], "comma")
    # conf.remove_section(sections[1])
    
    # *** 修改内容 *** #
    conf.set('txtB', "comma", "1000")
    conf.write(open(inipath, "r+", encoding="utf-8"))  # r+模式
    
    
    # print(conf.items(sections[0]) )
    

      

    示例ini配置文件操作程序2:

    使用configobj 函数

    from configobj import ConfigObj
    # *** 配置文件预处理 *** #
    config = ConfigObj("setting.ini",encoding='UTF8')
    
    # *** 读配置文件 *** #
    # print(config['txtB'])
    # print(config['txtB']['name'])
    
    # *** 修改配置文件 *** #
    # config['txtB']['comma'] = "Mufasa"
    # config.write()
    
    # *** 添加section *** #
    # config['txtC'] = {}
    # config['txtC']['index0'] = "wanyu00"
    # config.write()
    

      

  • 相关阅读:
    Service(服务)简单使用
    Android设计模式——抽象工厂方法模式
    Android设计模式——工厂方法模式
    算法问题——递归算法
    Android设计模式——Builder(建造者)模式
    Android设计模式——单例模式
    蓝牙4.0权限问题
    Android 网络状态变化的监听
    RecyclerView的使用
    函数参数的引用传递与值传递
  • 原文地址:https://www.cnblogs.com/navysummer/p/11658394.html
Copyright © 2011-2022 走看看