Python操作ini文件

ini文件一般当做配置文件使用,在写Flask API项目的时候也使用ini文件作为配置文件,本片文章主要记录Python如何操作ini文件。

Python中自带configparser来操作ini文件,但是这个模块存在一些缺陷,无法识别section的大小写,无法读取到文件的注释,这样带有注释的配置文件操作时候就会存在问题。

0x01 实例文件

config.ini

1
[persion]
2
name = Joynice
3
age = 18
4
sex = 男

0x02 读取文件

1
import configparser
2
3
config = configparser.ConfigParser()
4
config.read('config.ini', encoding='gbk')
5
items = config.items("persion")  #返回persion下所有数据:[('name', 'Joynice'), ('age', '18'), ('sex', '男')]
6
sections = config.sections() #获得所有的节点名称:['persion']
7
name = config.get('persion','name') #获取指定节点的特定字段:Joynice

0x03 增加数据

1
config.add_section("persion2")  #添加一个节点
2
config.set("persion2", "name", "zhangsan")  #添加节点数据
3
config.set("persion2", "age", "18")  # 添加阶段数据
4
config.set("persion2", "sex", "女")  #添加阶段数据
5
config.write(open('config.ini', "w"))  #写入文件中

此时文件如下:

1
[persion]
2
name = Joynice
3
age = 18
4
sex = 男
5
6
[persion2]
7
name = zhangsan
8
age = 18
9
sex = 女

0x04 修改数据

修改数据,就是使用set进行重新赋值,举个例子,修改persion2节点下name为lisi

1
config.set("persion", "name", "lisi")
2
config.write(open('config.ini', "w"))  #写入文件中

0x05 删除数据

1
config.remove_option("persion", "age") #删除persion节点下的age