python模块---configparser 编辑ini文件

2020-12-20 05:33

阅读:702

标签:指定   默认   使用   parse   修改   rem   open   with   编辑   

  • 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文件

标签:指定   默认   使用   parse   修改   rem   open   with   编辑   

原文地址:https://www.cnblogs.com/zoer/p/13326534.html


评论


亲,登录后才可以留言!