configparser模块

Posted FuZZ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于configparser模块的主要内容,如果未能解决你的问题,请参考以下文章

py15-configparser模块

configparser模块

Python Configparser模块读取写入配置文件

python封装configparser模块获取conf.ini值(优化版)

Python中ConfigParser模块详谈

25.Python序列化模块,hashlib模块, configparser模块,logging模块,异常处理