前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python-ini文件-02-删及写操作

Python-ini文件-02-删及写操作

作者头像
zishendianxia
发布2021-11-29 13:26:11
6590
发布2021-11-29 13:26:11
举报
文章被收录于专栏:Python工程师Python工程师

系统:Windows 10 编辑器:JetBrains PyCharm Community Edition 2018.2.2 x64

这个系列讲讲对ini配置文件的操作

今天讲讲删除和写入操作

Part 1:场景描述

  1. 写了一个定时抓取数据库中数据的程序,每次只抓取新增的数据
  2. 其中的一个方案是,以记录的自增id号作为标记,每次抓取完毕,记录下最新id,下次从这个id之后开始抓取

01

ini文件-操作前

02

ini文件-操作后

Part 2:代码

01-修改option

代码语言:javascript
复制
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)

03

代码截图

02-删除某个option

代码语言:javascript
复制
conf.remove_option("test3", "id")

04

结果如下

Part 3:部分代码解读

  1. 从结果上看,ini文件中刚开始注释的字符#address=广西,在操作后,消失了
    • conf.read(init_file_address, encoding='utf-8-sig')读取的时候就不会读入注释字段
  2. conf.remove_option("test3", "id")移除test3 这个sectionid这个option
  3. conf.set("test3", "id", new_id)新增或者修改test3 这个sectionid这个option
  4. encoding='utf-8-sig'编码方式需要改成这种,否则持续报错
  5. 简单来说,就是先从文件中将信息读入进conf这个变量,然后一波操作后,再写入文件中

本文为原创作品,欢迎分享朋友圈

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python工程师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Part 1:场景描述
  • Part 2:代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档