ConfigParser模块,用于读写配置文件,配置文件是由各个 section 组成的,每个部分都有一个 [section] 头指示,后面紧跟这部分里的配置信息,一般为 name: value 或 name=value,value 中可以包含格式化字符串来引用同一部分下的或是 DEFAULT 部分下的其他属性值。# 和 ; 开头的行会被忽略,并视为注释

1、模块对象

1.1 RawConfigParser 对象

1.1.1 初始化构建类:RawConfigParser([defaults[, dict_type[, allow_no_value]]])

参数设置:
defaults:设置内部默认字典,DEFAULT 部分,可以用于格式化字符串的填充
dict_type:设置配置文件里的各个部分、各个部分里的属性、默认值的字典对象类型
allow_no_value:默认 False,不允许各个部分里的属性值为空,为 True 时属性的空值用 none 表示

1.1.2 实例方法

defaults():返回默认部分的字典
sections():列表形式返回配置文件所有 section,不包括默认部分
add_section(section):向配置文件中加入一个新部分 section
has_section(section):判断 section 部分是否存在
options(section):列表形式返回 section 部分中的所有属性名
has_option(section, option):判断 section 部分是否存在 option 属性
read(filenames):读取并解析这些 filenames,返回成功解析的文件名,打不开的文件会直接忽略,不会报错。对一些需要预先加载数据的应用要先用 readfp() 加载所需数据,再 read()
readfp(fp[, filename]):读取并解析 fp,fp 可以是文件也可以是文件对象
get(section, option):从 section 部分获得属性 option 的值
getint(section, option):从 section 部分获得属性 option 的值,并转换成整型
getfloat(section, option):从 section 部分获得属性 option 的值,并转换成浮点型
getboolean(section, option):从 section 部分获得属性 option 的值,并转换成布尔型
items(section):列表形式返回 section 部分中的所有属性名和对应值元组
set(section, option, value):如果配置文件中确实有 section 这个部分,则设置 option 属性的值为 value,value 可以不是字符串,但在读写时只有字符串能被正确识别
write(fileobject):把写好的配置信息写入到 fileobject 中,可以被 read() 解析
remove_option(section, option):如果配置文件中确实有 section 这个部分,则删除 option 属性,返回 True,如果不存在 option 属性,返回 False
remove_section(section):删除 section 部分,返回 True,如果不存在,返回 False
optionxform(option):把 option 用内置的转换方法转换后内部存储,默认是把所有字母转成小写,可以通过设置 optionxform 属性设置转换方法

1.2 ConfigParser 对象

1.2.1 初始化构建类:ConfigParser([defaults[, dict_type[, allow_no_value]]]),参数同上

1.2.2 实例方法,同上基础上修改了两个方法

get(section, option[, raw[, vars]]):获得 section 部分的 option 属性的值,设置 raw 为真时,返回属性值的原始格式,即未被指定值替代的格式化字符串,vars 是提供格式化对应值的字典。替换格式化值时先找 vars,再 section,最后 defaults
items(section[, raw[, vars]]):获得 section 部分的所有属性名和对应值元组,raw 和 vars 同上

1.3 SafeConfigParser 对象

1.3.1 初始化构建类:SafeConfigParser([defaults[, dict_type[, allow_no_value]]]),参数同上

1.3.2 实例方法,同 ConfigParser 基础上修改了一个方法

set(section, option, value):如果配置文件中确实有 section 这个部分,则设置 option 属性的值为 value,value 只能是字符串

2、模块常量

ConfigParser.MAX_INTERPOLATION_DEPTH:格式化字符串中内容替换的最大迭代深度

3、模块异常

ConfigParser.Error:异常基类
ConfigParser.NoSectionError:没有指定 section 时抛出
ConfigParser.DuplicateSectionError:调用 add_section() 时,指定 section 已经存在
ConfigParser.NoOptionError:指定 section 中没有 option
ConfigParser.InterpolationError:格式化字符串失败时的基类
ConfigParser.InterpolationDepthError:格式化字符串时超过最大迭代深度
ConfigParser.InterpolationMissingOptionError:格式化字符串的其中一个及以上属性缺失
ConfigParser.InterpolationSyntaxError:格式化字符串时语法错误
ConfigParser.MissingSectionHeaderError:解析没有 section 标题名的文件时抛出
ConfigParser.ParsingError:解析文件错误

Python2.7-ConfigParser的更多相关文章

  1. Python模块:配置文件解析器configparser

    版权声明:本文为博主皮皮http://blog.csdn.net/pipisorry原创文章,未经博主同意不得转载. https://blog.csdn.net/pipisorry/article/d ...

  2. Python3.x与Python2.x的差异用法

    Python3.x与Python2.x的差异用法 1,关于urllib2区别: # python2 import urllib2 # python3 # 用urllib.request代替urllib ...

  3. python2 和 python3兼容写法

    一:使用ImportError,Python3中将一些Python2的模块名称做了修改,需要我们做一些处理来保证代码在不同Python版本中能够正常运行 # -*- coding: utf- -*- ...

  4. configParser模块详谈

    前言 使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是configParser configPars ...

  5. python基础整理笔记(六)

    一. 关于hashlib模块的一些注意点 hashlib模块用于加密相关的操作,代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512, MD ...

  6. luigi学习2-在hadoop上运行Top Artists

    一.AggregateArtistsHadoop class AggregateArtistsHadoop(luigi.contrib.hadoop.JobTask): date_interval = ...

  7. Python基础-week05

    本节大纲:Author:http://www.cnblogs.com/Jame-mei 模块介绍 time & datetime模块 random os sys shutil json &am ...

  8. 【原创】cocos2d-x3.9蓝牙开发之蓝牙开启

    本人第一次搞android开发,很多东西都是只知道一点点,然而都没怎么实践过,所以这次就边学边做自己想要的功能,可能会花较长时间,不过肯定是值得的,有用词或哪里说得不对的请指正. 我自己有androi ...

  9. ❤️❤️新生代农民工爆肝8万字,整理Python编程从入门到实践(建议收藏)已码:8万字❤️❤️

    @ 目录 开发环境搭建 安装 Python 验证是否安装成功 安装Pycharm 配置pycharm 编码规范 基本语法规则 保留字 单行注释 多行注释 行与缩进 多行语句 数据类型 空行 等待用户输 ...

  10. Python读取ini配置文件(接口自动测试必备)

    前言 大家应该接触过.ini格式的配置文件.配置文件就是把一些配置相关信息提取出去来进行单独管理,如果以后有变动只需改配置文件,无需修改代码. 特别是后续做自动化的测试,代码和数据分享,进行管理.比如 ...

随机推荐

  1. 在IDEA里创建web项目,以及web 项目部署

    在IDEA里创建web项目很简单: 1).先创建一个简单的maven项目,这个步骤我就不说了. 2).maven项目创建完后,因为我们需要的是web项目,因此我们要在pom.xml文件里设置packa ...

  2. POJ1222(SummerTrainingDay01-E)

    EXTENDED LIGHTS OUT Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 11078   Accepted: 7 ...

  3. Code Signal_练习题_depositProfit

    You have deposited a specific amount of money into your bank account. Each year your balance increas ...

  4. JS 正则截取字符串

    1.js截取两个字符串之间的内容: varstr = "aaabbbcccdddeeefff"; str = str.match(/aaa(\S*)fff/)[1]; alert( ...

  5. 【代码笔记】iOS-增加右侧按钮

    一,工程图. 二,代码. ViewController.m - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup ...

  6. 【读书笔记】iOS-网络-使用Bonjour实现自组织网络

    Bonjour就是这样一种技术:设备可以通过它轻松探测并连接到相同网络中的其他设备,整个过程只需要很少的用户参与或是根本就不需要用户参与.该框架提供了众多适合于移动的使用场景,如基于网络的游戏,设备间 ...

  7. 学习ES6的全部特性

    ES6 简介 ECMAScript 6 简称 ES6,是 JavaScript 语言的下一代标准,已经在2015年6月正式发布了.它的目标是使得 JavaScript 语言可以用来编写复杂的大型应用程 ...

  8. <Android 基础(三十四)> TabLayout 从头到脚

    1. 简介 1.TabLayout给我们提供的是一排横向的标签页 2.#newTab()这个方法来创建新的标签页,然后用过#setText()和#setIcon方法分别修改标签页的文本和图标,创建完成 ...

  9. Linux下安装VSCode

    进行下载 64位的包:地址: https://code.visualstudio.com/docs/?dv=linux64&build=insiders 1.解压: tar -zxvf cod ...

  10. R中的空间数据分析

    > library(sp) > library(maptools) > library(raster) > library(rgeos) > maxd3 = readAs ...