python读写增删修改ini配置文件

一,百度百科

  .ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,统管windows的各项配置,一般用户就用windows提供的各项图形化管理界面就可实现相同的配置了。但在某些情况,还是要直接编辑ini才方便,一般只有很熟悉windows才能去直接编辑。
  开始时用于WIN3X下面,WIN95用注册表代替,以及后面的内容表示一个节,相当于注册表中的键。
 
二,配置程序

 

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

 1 [txtA]
 2 name = comma,end,full,run
 3 comma = 1000
 4 end = 3
 5 full = 2
 6 run = 1
 7 default_comma = 3
 8 default_end = 3
 9 default_full = 2
10 default_run = 1
11 
12 [txtB]
13 name = comma,end,full,run
14 comma = 1000
15 end = 3
16 full = 2
17 run = 1
18 default_comma = 3
19 default_end = 3
20 default_full = 2
21 default_run = 1
22 
23 [chinese]
24 name = volume,tones,speed,spokesman
25 volume = 5
26 tones = 5
27 speed = 5
28 spokesman = 1
29 default_volume = 5
30 default_tones = 5
31 default_speed = 5
32 default_spokesman = 1
33 
34 [english]
35 name = volume,tones,speed,spokesman
36 volume = 5
37 tones = 5
38 speed = 5
39 spokesman = 1
40 default_volume = 5
41 default_tones = 5
42 default_speed = 5
43 default_spokesman = 1
44 
45 [help]
46 
47 [about]

 

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

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

 1 import configparser
 2 import os
 3 
 4 
 5 # *** 初始化配置文件路径 *** #
 6 curpath = os.path.dirname(os.path.realpath(__file__))   # 当前文件路径
 7 inipath = os.path.join(curpath, "setting.ini")                # 配置文件路径(组合、相对路径)
 8 
 9 # *** 数据读取 *** #
10 conf = configparser.ConfigParser()
11 conf.read(inipath, encoding="utf-8")
12 # sections = conf.sections()              # 获取所有的sections名称
13 # options = conf.options(sections[0])     # 获取section[0]中所有options的名称
14 # items = conf.items(sections[0])         # 获取section[0]中所有的键值对
15 # value = conf.get(sections[-1],'txt2')   # 获取section[-1]中option的值,返回为string类型
16 # value1 = conf.getint(sections[0],'comma')         # 返回int类型
17 # value2 = conf.getfloat(sections[0],'end')         # 返回float类型
18 # value3 = conf.getboolean(sections[0],'run')       # 返回boolen类型
19 
20 # *** 删除内容 *** #
21 # conf.remove_option(sections[0], "comma")
22 # conf.remove_section(sections[1])
23 
24 # *** 修改内容 *** #
25 conf.set('txtB', "comma", "1000")
26 conf.write(open(inipath, "r+", encoding="utf-8"))  # r+模式
27 
28 
29 # print(conf.items(sections[0]) )

 

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

使用configobj 函数

 1 from configobj import ConfigObj
 2 # *** 配置文件预处理 *** #
 3 config = ConfigObj("setting.ini",encoding='UTF8')
 4 
 5 # *** 读配置文件 *** #
 6 # print(config['txtB'])
 7 # print(config['txtB']['name'])
 8 
 9 # *** 修改配置文件 *** #
10 # config['txtB']['comma'] = "Mufasa"
11 # config.write()
12 
13 # *** 添加section *** #
14 # config['txtC'] = {}
15 # config['txtC']['index0'] = "wanyu00"
16 # config.write()

 

posted on 2019-05-10 17:12  周健康  阅读(9463)  评论(0编辑  收藏  举报

导航