python模块---configparser 编辑ini文件
2020-12-20 05:33
标签:指定 默认 使用 parse 修改 rem open with 编辑 写入的方法发生在内存中,需要通过文件对象写入磁盘 python模块---configparser 编辑ini文件 标签:指定 默认 使用 parse 修改 rem open with 编辑 原文地址:https://www.cnblogs.com/zoer/p/13326534.html
读取
import configparser
mysql_conf = configparser.ConfigParser()
#读取ini文件,可以是单个文件,也可以是多个文件,在mysql_conf原地修改
mysql_conf.read(‘my.ini‘)
#获取sections,不包含默认
print(mysql_conf.sections())
#获取options of section
print(mysql_conf.options(‘mysqld‘))
#获取sections包含默认
print([i for i in mysql_conf.items()])
#获取sections对应的options(同时可以解读为,如果items不指定section,则返回所有的section)
print([mysql_conf.items(i) for i,j in mysql_conf.items[] ])
#判断sections中是否有mysqld,及下的options
print(mysql_conf.has_section(‘mysqld‘))
print(mysql_conf.has_option(‘mysqld‘,‘port‘))
#获取mysld的port,如果不存在返回缺省值,不会报错
print(mysql_conf.get(‘mysqld‘,‘port‘,fallback=‘3306‘))
#mysql_conf.getint()
#mysql_conf.getfloat()
#mysql_conf.boolen()
#与get的方法相同,只是做了类型转换
写入
#使用add写入一个section,如果存在则报错,则先进行判断
if not mysql_conf.has_section(‘title‘):mysql_conf.add_section(‘title‘)
#在section存在的情况下写入一个option
if not mysql_conf.has_section(‘title‘):mysql_conf.add_section(‘title‘)
mysql_conf.set(‘title‘,‘name‘,‘zabbix‘)
#写入后需要通过文件对象写入磁盘
with open(‘my.ini‘,‘w‘) as f:
mysql_conf.write(f)
用字典的方式写入
#section存在的情况下(不存在则报错),写入一个option,如果key存在则覆盖,如果不存在则在该section进行追加
mysql_conf[‘write‘][‘k1‘] = ‘v1‘
#section可以不存在,不存在直接创建写入,如果存在则进行覆盖
mysql_conf[‘write‘] = {‘k2‘:‘v2‘,‘k3‘:‘v3‘}
#同样修改后进行写入
with open(‘my.ini‘,‘w‘) as f:
mysql_conf.write(f)
删除
if mysql_conf.has_section(‘body‘):
mysql_conf.remove_section(‘body‘)
if mysql_conf.has_option(‘write‘,‘k2‘):
mysql_conf.remove_option(‘write‘,‘k2‘)
下一篇:Python之路博客目录
文章标题:python模块---configparser 编辑ini文件
文章链接:http://soscw.com/index.php/essay/37358.html