系统:Windows 10
编辑器:JetBrains PyCharm Community Edition 2018.2.2 x64
- 这个系列讲讲对ini配置文件的操作
- 今天讲讲删除和写入操作
Part 1:场景描述
- 写了一个定时抓取数据库中数据的程序,每次只抓取新增的数据
- 其中的一个方案是,以记录的自增id号作为标记,每次抓取完毕,记录下最新id,下次从这个id之后开始抓取
ini文件-操作前
ini文件-操作后
Part 2:代码
import os
import configparser
current_path = os.path.dirname(os.path.abspath(__file__))
init_file_address = os.path.join(current_path, 'configuration2.ini')
conf = configparser.ConfigParser()
conf.read(init_file_address, encoding='utf-8-sig')
# ID写入
def write_audit_last_id(new_id):
new_id = str(new_id)
# 删除
# conf.remove_option("test3", "id")
# 修改或者新增
conf.set("test3", "id", new_id)
with open(init_file_address, "w+", encoding='utf-8-sig') as f:
conf.write(f)
write_audit_last_id(1009)
代码截图
删除某个option
conf.remove_option("test3", "id")
结果如下
Part 3:部分代码解读
- 从结果上看,ini文件中刚开始注释的字符#address=广西,在操作后,消失了
-
conf.read(init_file_address, encoding='utf-8-sig')
读取的时候就不会读入注释字段
-
-
conf.remove_option("test3", "id")
移除test3 这个section中id这个option -
conf.set("test3", "id", new_id)
新增或者修改test3 这个section中id这个option -
encoding='utf-8-sig'
编码方式需要改成这种,否则持续报错 - 简单来说,就是先从文件中将信息读入进conf这个变量,然后一波操作后,再写入文件中
本文为原创作品,欢迎分享朋友圈
长按图片识别二维码,关注本公众号
Python 优雅 帅气