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. HDU6152

    Friend-Graph Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

  2. HDU4960(SummerTrainingDay03-F dp)

    Another OCD Patient Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Ot ...

  3. js-ES6学习笔记-Proxy

    1.Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程. 2.Proxy 可以理解成,在目标对象之前架设 ...

  4. element-ui table

    额,最近有点频繁记录.感觉遇到了很多的问题.然后不断的查,不断的尝试修改.然后得到解决.还是记录关于element-ui的使用.这次是关于表格的使用. 表格使用其实平时用的话也就那么几个属性.虽然官网 ...

  5. Linux 多个vi、vim进程编辑同一文件时的临时文件问题

    多个vi.vim进程编辑同一文件时的临时文件问题 by:授客 QQ:1033553122   使用vi.vim编辑文件,实际是先copy一份临时文件并映射到内存里进行编辑,所以你编辑的是临时文件,不是 ...

  6. 一致性Hash(Consistent Hashing)原理剖析

    引入 在业务开发中,我们常把数据持久化到数据库中.如果需要读取这些数据,除了直接从数据库中读取外,为了减轻数据库的访问压力以及提高访问速度,我们更多地引入缓存来对数据进行存取.读取数据的过程一般为: ...

  7. Scala包的使用

    package big.data.analyse.scala.classes /** * Created by zhen on 2018/9/15. */ object Packages { def ...

  8. 从 Azure 下载 Windows VHD

    本文介绍如何使用 Azure 门户从 Azure 下载 Windows 虚拟硬盘 (VHD) 文件. Azure 中的虚拟机 (VM) 将磁盘用作存储操作系统.应用程序和数据的位置. 所有 Azure ...

  9. 自动代码质量分析(GitLab+JenKins+SonarQube)

    自动代码质量分析(GitLab+JenKins+SonarQube) 1.需求场景 开发提交代码自动执行代码质量分析. 2.所需应用 GitLab,JenKins,SonarQube 3.架构图 4. ...

  10. yum/dnf/rpm 等 查看rpm 包安装路径 (fedora 中 pygtk 包内容安装到哪里了)

    有时候我们 使用 包管理工具,安装很方便,但我们还要能知道它们安装了什么文件,都把这些文件安装到哪里了? 我们以探究 pygtk 为例 在 fedora 28 之中 查找 pygtk: ➜ ~ rpm ...