configparser模块

configparser

configparser模块主要用于解析特定格式的文件,在python2中名为ConfigParser,在python3中改为configparser

支持的配置文件格式:

configparser需要特定的文件格式才能解析,这种格式类似于linux rsync和samba的配置文件,即一个用[]表示一个section,下面是ke=value形式的参数,具体如下:

[section1]
k2 = 55

[section2]
k2 = 44
k3 = fuzj

常用方法:

  • sections() 获取所有section ,即[]里的内容
  • options(section) 获取seciton下所有的key
  • iterms(section) section下所有key value,形式为[(key1,value1),(key2,value2)]
  • set(section,key,value) 设置section下key = value,如果不存在则创建
  • add_section() 创建一个section
  • remove_section() 删除section
  • remove_option(section,option) 删除section下的option
  • get(section,option) 获取section下option 的value
  • getboolean(section,option) 获取section下option 的value,并转换为布尔值
  • getfloat(section,option) 获取section下option 的value ,并转换为float类型
  • getint(section,option) 获取section下option 的value,并转换为int类型
  • write() 将配置写入文件

具体应用

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#pyversion:python3.5
#owner:fuzj


import configparser

config = configparser.ConfigParser()
config.read('config')



sec = config.sections()       #打印所有section

opt = config.options(sec[0])    #section1打印所有key

key = config.items(sec[1])   #section2打印所有key value


if not config.has_section('test'):             #判断是否有testsection
    config.add_section('test')   #增加section
    config.set('test','kkkk','vvvvvv')     #增加key value

config.remove_option(sec[0],'k1')           #删除第一个section中的k1
config.write(open('config','w'))     #i写入配置文件

print(sec)

print(opt)

print(key)

输出:
['section1', 'section2', 'hhahhahahhhaha']
['k2']
[('k2', '44'), ('k3', 'fuzj')]

配置文件现在状态:

[section1]
k2 = 55

[section2]
k2 = 44
k3 = fuzj

[test]
kkkk = vvvvvv
原文地址:https://www.cnblogs.com/pycode/p/configparser.html