python:对ini文件的增删改查

需求:

用python调用脚本执行spark-SQL,每次记录开始调用的时间与结束调用的时间,并将上次结束时间作为参数传递给脚本,执行完成后将开始时间与结束时间更新至ini;

Python操作ini文件

.ini 是windows的系统配置文件所采用的存储格式。python3中使用configParser模块进行解析与操作。

configParser解析的配置文件的格式比较象ini的配置文件格式,就是文件中由多个section构成,每个section下又有多个配置项(item)。

ini文件配置

首先在python文件相同目录下创建一个ini文件,文件内容如下:

[table1]
creationtime = null
starttime = 2020-05-10 15:59:03
endtime = 2020-05-10 15:59:04

[table2]
creationtime = null
starttime = 2020-05-10 15:59:03
endtime = 2020-05-10 15:59:04

其中[]的内容为section,即一组内容;section下的k-v值如creationtime 、starttime、endtime为item,section下可以有多个item。

注意:section名不能重复,item需要通过section去定位查找。

configParser解析ini

使用configParser的步骤:

1.导入configParser模块

2.创建conf对象

3.使用conf对象读取ini文件

# 导入 configparser
import configparser

# 创建管理对象
conf = configparser.ConfigParser()


# 读ini文件

curpath = os.path.dirname(os.path.realpath(__file__))
cfgpath = os.path.join(curpath, 'test.ini')  
conf.read(cfgpath, encoding='utf-8')

添加section

    conf.add_section("table3")

删除

删除section:

    conf.remove_section('table2')

删除item:


    conf.remove_option("table1", "starttime")

修改

修改通过set方法,三个参数分别为(section名,item名,item值)

    conf.set("table1","startTime","2020-05-10 15:59:03")
    conf.set("table1","endTime","2020-05-10 15:59:03")

查询

对于不同类型的item value使用不同的get方法,如getint、getBoolean等,通常直接使用get方法获得string类型的value。

    conf.get("table1","starttime")

写入ini

无论是增删改那种操作,都不会立即修改ini文件,只有调用write方法后,才会写入文件。写入文件有两种方式,追加写和重写(还有其他选项如r+等,。但是只关心这两个区别。其实除a以外,全是全量刷写)。

    #cfgpath为ini文件路径

    #追加写
    conf.write(open(cfgpath, "a"))

    #全量刷写
    conf.write(open(cfgpath, "w"))

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值