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()

  

上一篇:javascript-如果该节的类处于活动状态,则将其ID作为类添加到正文?


下一篇:Ubuntu18配置静态IP地址