详解Python读取配置文件模块ConfigParser


Posted in Python onMay 11, 2017

1,ConfigParser模块简介

假设有如下配置文件,需要在Pyhton程序中读取

$ cat config.ini
[db]
db_port = 3306
db_user = root
db_host = 127.0.0.1
db_pass = xgmtest
 
[SectionOne]
Status: Single
Name: Derek
Value: Yes
Age: 30
Single: True
 
[SectionTwo]
FavoriteColor = Green
[SectionThree]
FamilyName: Johnson
 
[Others]
Route: 66

如何在Python中读取呢

>>> import ConfigParser
>>> Config = ConfigParser.ConfigParser()
>>> Config
<ConfigParser.ConfigParser instance at 0x00BA9B20>
>>> Config.read("config.ini")
['config.ini']
>>> Config.sections()
['db', 'Others', 'SectionThree', 'SectionOne', 'SectionTwo']
>>> Config.get("db", "db_host")
'127.0.0.1'
>>> Config.getint("db", "db_port")
3306

2,ConfigParser模块的基本方法介绍

读取配置文件

read(filename) 直接读取ini文件内容
sections() 得到所有的section,并以列表的形式返回
options(section) 得到该section的所有option
items(section) 得到该section的所有键值对
get(section,option) 得到section中option的值,返回为string类型
getint(section,option) 得到section中option的值,返回为int类型,还有相应的getboolean()和getfloat() 函数

写入配置文件

add_section(section) 添加一个新的section
set(section, option, value) 对section中的option进行设置,需要调用write将内容写入配置文件

3,特殊情况

如果有以下配置文件

[zone1]
192.168.10.13
192.168.10.15
192.168.10.16
192.168.10.17
[zone2]
192.168.11.13
192.168.11.14
192.168.11.15
[zone3]
192.168.12.13
192.168.12.14
192.168.12.15

这种配置文件,每一个section里面,并不是健值对的形式,此时再调用ConfigParser读取便会报出如下错误:

ConfigParser.ParsingError: File contains parsing errors: hosts.txt

所以正确的调用方法为:

#!/usr/bin/python
 
import ConfigParser
 
config = ConfigParser.ConfigParser(allow_no_value=True)
config.read("hosts.txt")
print config.items("zone2")

运行结果:

$ ./a.py 
[('10.189.22.21', None), ('10.189.22.22', None), ('10.189.22.23', None)]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python和GO语言实现的消息摘要算法示例
Mar 10 Python
分享一个可以生成各种进制格式IP的小工具实例代码
Jul 28 Python
python学习教程之Numpy和Pandas的使用
Sep 11 Python
Python列表list排列组合操作示例
Dec 18 Python
windows下numpy下载与安装图文教程
Apr 02 Python
python打造爬虫代理池过程解析
Aug 15 Python
使用Fabric自动化部署Django项目的实现
Sep 27 Python
numpy按列连接两个维数不同的数组方式
Dec 06 Python
PyTorch中topk函数的用法详解
Jan 02 Python
python图形开发GUI库wxpython使用方法详解
Feb 14 Python
Selenium关闭INFO:CONSOLE提示的解决
Dec 07 Python
python 制作一个gui界面的翻译工具
May 14 Python
python如何获取服务器硬件信息
May 11 #Python
浅谈Python基础之I/O模型
May 11 #Python
老生常谈Python进阶之装饰器
May 11 #Python
python 第三方库的安装及pip的使用详解
May 11 #Python
插入排序_Python与PHP的实现版(推荐)
May 11 #Python
Python实现计算两个时间之间相差天数的方法
May 10 #Python
Python开发的实用计算器完整实例
May 10 #Python
You might like
给多个地址发邮件的类
2006/10/09 PHP
用PHP实现图象锐化代码
2007/06/14 PHP
PHP使用SMTP邮件服务器发送邮件示例
2018/08/28 PHP
如何简单地用YUI做JavaScript动画
2007/03/10 Javascript
Dom操作之兼容技巧分享
2011/09/20 Javascript
JavaScript中__proto__与prototype的关系深入理解
2012/12/04 Javascript
如何使用jQuery Draggable和Droppable实现拖拽功能
2013/07/05 Javascript
jQuery获取及设置表单input各种类型值的方法小结
2016/05/24 Javascript
jQuery简单自定义图片轮播插件及用法示例
2016/11/21 Javascript
javaScript语法总结
2016/11/25 Javascript
微信小程序中form 表单提交和取值实例详解
2017/04/20 Javascript
JavaScript使用readAsDataURL读取图像文件
2017/05/10 Javascript
js数据类型检测总结
2018/08/05 Javascript
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
前后端常见的几种鉴权方式(小结)
2019/08/04 Javascript
node 标准输入流和输出流代码实例
2019/09/19 Javascript
vue用BMap百度地图实现即时搜索功能
2019/09/26 Javascript
Nodejs + Websocket 指定发送及群聊的实现
2020/01/09 NodeJs
JavaScript实现H5接金币功能(实例代码)
2021/02/22 Javascript
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
Python使用Matplotlib实现雨点图动画效果的方法
2017/12/23 Python
详解Python进阶之切片的误区与高级用法
2018/12/24 Python
Django models.py应用实现过程详解
2019/07/29 Python
使用python代码进行身份证号校验的实现示例
2019/11/21 Python
python中文分词库jieba使用方法详解
2020/02/11 Python
pytorch实现查看当前学习率
2020/06/24 Python
英国领先的新鲜松露和最好的松露产品供应商:TruffleHunter
2019/08/26 全球购物
日语专业毕业生自荐信
2013/11/11 职场文书
保安公司服务承诺书
2014/05/28 职场文书
学校端午节活动方案
2014/08/23 职场文书
地震捐款倡议书
2014/08/29 职场文书
2014幼儿园大班工作总结
2014/11/10 职场文书
2014年机关工会工作总结
2014/12/19 职场文书
计划生育责任书
2015/05/09 职场文书
自书遗嘱范文
2015/08/07 职场文书
Python爬虫基础初探selenium
2021/05/31 Python