ConfigParse 作用是解析配置文件。

配置文件格式如下

[test1]
num1: 10
[test2]
num1: 35

配置文件两个概念section和option, 在这个例子中第一个section是

[test1]
num1: 10

其中test1是section name, 而num1是option的name。ConfigParser同样是根据section和option来解析配置文件。

使用ConfigParser

import ConfigParser
conf = ConfigParser.ConfigParser()

解析对应的配置文件:

提供了两个方法

-read()

-readfp()

这两个函数都是读取配置文件内容,不同之处是read参数是文件,而readfp的参数是handle。

conf.read("test.config")

conf.readfp(open("test.config"))

获取配置文件内容

-get(section,option)

-getinit(section, option)

-getfloat(section, option)

-getboolean(section, option)

这应该是最经常用到的函数,从配置文件中获取对应数值。get获取对应数值,后面三个函数在get的基础上进行了数值的转换。

conf.get('test1', 'num1')
conf.getint('test2', 'num1')

第一行返回的是字符串10,第二行返回的是数值35。其他两个函数同理。

需要注意的是getboolean(section,option)虽然返回True/False,在配置文件中可以为on/off True/False yes/no。方便了开关的配置。

其余的函数则是对section,option和item的显示和判断操作

比如has_section, 判断在配置文件中是否包含这个section

conf.has_section('test1')

类似函数has_option(section, option), 判断section中是否包含option

显示内容函数例

例如函数sections,显示所有的section

options, 显示一个section下所有的option

items,以(option,value)的形式显示section下所以的数值,返回列表。

>>> conf.items('test1')
[('num1', '10')]
>>> conf.sections()
['test1', 'test2']
>>> conf.options('test2')
['num1']
>>>

在ConfigParser中还有一类函数修改添加option,section然后写入到配置文件文档。

在我看来这是一个使用频率很低的函数。在一般程序中很少使用到。所以这个地方就不做讲解。

python - ConfigParser的更多相关文章

  1. python configparser模块

    来看一个好多软件的常见文档格式如下: [DEFAULT] ServerAliveInterval = 45 Compression = yes CompressionLevel = 9 Forward ...

  2. python ConfigParser配置读写

    一.ConfigParser简介 ConfigParser 是用来读取配置文件的包.配置文件的格式如下:中括号"[ ]"内包含的为section.section 下面为类似于key ...

  3. python ConfigParser、shutil、subprocess、ElementTree模块简解

    ConfigParser 模块 一.ConfigParser简介ConfigParser 是用来读取配置文件的包.配置文件的格式如下:中括号“[ ]”内包含的为section.section 下面为类 ...

  4. [Python]ConfigParser解析配置文件

    近期发现非常多接口配置都硬编码在souce file中了,于是就看了下python怎么解析配置文件,重构下这一块. 这个应该是早就要作的... 配置文件: [mysqld] user = mysql ...

  5. Python configparser 读取指定节点内容失败

    # !/user/bin/python # -*- coding: utf-8 -*- import configparser # 生成一个config文件 config = configparser ...

  6. python configparser使用

    .ini文件由若干section(部分)组成, 而每一个section又由若干键值对组成. 以 example.ini为例: [DEFAULT] ServerAliveInterval = 45 Co ...

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

    写代码中需要用到读取配置,最近在写python,记录一下. 如下,假设有这样的配置. [db] db_host=127.0.0.1 db_port=3306 db_user=root db_pass= ...

  8. Python ConfigParser的使用

    1.基本的读取配置文件 -read(filename) 直接读取ini文件内容 -sections() 得到所有的section,并以列表的形式返回 -options(section) 得到该sect ...

  9. python ConfigParser读取配置文件,及解决报错(去掉BOM)ConfigParser.MissingSectionHeaderError: File contains no section headers的方法

    先说一下在读取配置文件时报错的问题--ConfigParser.MissingSectionHeaderError: File contains no section headers 问题描述: 在练 ...

  10. 【转载】Python ConfigParser的使用

    1.基本的读取配置文件-read(filename) 直接读取ini文件内容-sections() 得到所有的section,并以列表的形式返回-options(section) 得到该section ...

随机推荐

  1. Oracle PL/SQL设置快捷键的方法

    pl sql默认设置不是很方便,最近搜罗了一下网上关于PLSQL的一些常用快捷键配置,主要是方便以后自个使用 1.登录后默认自动选中My Objects   默认情况下,PLSQL Developer ...

  2. HDU4307 Matrix(最小割)

    题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=4307 Description Let A be a 1*N matrix, and each ...

  3. 将DLL中资源导出到指定文件夹

    File.WriteAllBytes( @"C:\Windows\System32\MyDll.dll", Resources.MyDll );

  4. HDU 3072 (强连通分量)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3072 题目大意:为一个有向连通图加边.使得整个图全连通,有重边出现. 解题思路: 先用Tarjan把 ...

  5. CentOS6.4 增加一个SFTP上传的用户

    #创建sftp组 groupadd sftp #创建一个用户dsideal useradd -g sftp -s /bin/false dsideal #设置dsideal用户的密码 passwd d ...

  6. 显式激活数据库( ACTIVATE DATABASE)

    某天值班员联系我说,我负责的一套报送系统没有按时生成报文,因为此报警提前量比较大,加上系统经常发生未按时生成报文的事件,也就是没在意,然后不急不慢的到公司,打开系统页面,发现其中一个存储过程跑了将近8 ...

  7. BZOJ1025: [SCOI2009]游戏

    Description windy学会了一种游戏.对于1到N这N个数字,都有唯一且不同的1到N的数字与之对应.最开始windy把数字按顺序1,2,3,……,N写一排在纸上.然后再在这一排下面写上它们对 ...

  8. 深入浅出 - Android系统移植与平台开发(五)- 定制手机模拟器ROM

    一. 修改化定制Android4.0系统 Android系统启动时,先加载Linux内核,在Linux的framebuffer驱动里可以定制开 机界面,Linux内核启动成功后,挂载根文件系统,启动A ...

  9. zepto的tap事件的点透问题的几种解决方案

    你可能碰到过在页面上创建一个弹出层,弹出层有个关闭的按钮,你点了这个按钮关闭弹出层后,这个按钮正下方的内容也会执行点击事件(或打开链接).这个被定义为这是一个“点透”现象. 以前,我也听到过tap的点 ...

  10. iOS开发三步搞定百度推送

    iOS开发三步搞定百度推送   百度推送很简单,准备工作:在百度云推送平台注册应用,上传证书. 步骤一: 百度云推送平台 http://push.baidu.com/sdk/push_client_s ...