python模块---configparser 编辑ini文件
Posted zoer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python模块---configparser 编辑ini文件相关的知识,希望对你有一定的参考价值。
- configparser模块中提供了ConfigParser类来对ini文件处理
- 可以将section看成字典的key,options是value,则每一个option是嵌套的key:value
- 可以看做为有序的字典,orderdict
读取
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模块---configparser 编辑ini文件的主要内容,如果未能解决你的问题,请参考以下文章