1.简介

我们经常需要使用配置文件,例如.conf和.ini等类型,使用ConfigPaser模块可以对配置文件进行操作。

2.示例

现有配置文件test.ini,其内容如下:

[section_a]
a_key1 = str content
a_key2 = 10 [section_b]
b_key1 = b_value1
b_key2 = b_value2

2.1读取配置文件

 # -*- coding=utf-8 -*-
import ConfigParser
import os # 生成config对象
os.chdir('C:\\Study\\python\\configparser')
cf = ConfigParser.ConfigParser()
# 读取配置文件
cf.read("test.ini")

2.2读取数据

 # 读取所有节
sections = cf.sections()
print 'sections:', sections

结果如下:

------------------------

 # 读取指定节的键
opts = cf.options('section_a')
print 'options:', opts

结果如下:

------------------------

 # 读取指定节的所有键值对
kvs = cf.items('section_a')
print 'section_a:', kvs

结果如下:

------------------------

 # 读取指定节和键的值
2 # 主要使用的有get()、getint()方法,前者为str类型,后者为int类型
kv1 = cf.get('section_a', 'a_key1')
print kv1, type(kv1)
kv2 = cf.getint('section_a', 'a_key2')
print kv2, type(kv2)

结果如下:

2.3写入数据

 # 更新指定节和键的值
cf.set('section_b', 'b_key1', 'new_value1')

结果如下:

[section_a]
a_key1 = str content
a_key2 = 10 [section_b]
b_key1 = new_value1
b_key2 = b_value2

-------------------

 # 对指定节,新增键
cf.set('section_b', 'b_key3')

结果如下:

[section_a]
a_key1 = str content
a_key2 = 10 [section_b]
b_key1 = new_value1
b_key2 = b_value2
b_key3 = None

-------------------

 # 对指定节,新增键值对
cf.set("section_b", "b_new_key", "b_new_value")

结果如下:

[section_a]
a_key1 = str content
a_key2 = 10 [section_b]
b_key1 = new_value1
b_key2 = b_value2
b_key3 = None
b_new_key = b_new_value

-------------------

 # 新增节
cf.add_section('section_c')

结果如下:

[section_a]
a_key1 = str content
a_key2 = 10 [section_b]
b_key1 = new_value1
b_key2 = b_value2
b_key3 = None
b_new_key = b_new_value [section_c]

在所有写入完毕后,进行保存操作:

 # 写入文件
cf.write(open('test.ini', 'w'))

!!!

python中的ConfigParser模块的更多相关文章

  1. python:利用configparser模块读写配置文件

    在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可. 这篇博客,介绍下python中利用configpars ...

  2. Python中的random模块,来自于Capricorn的实验室

    Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...

  3. Python中的logging模块

    http://python.jobbole.com/86887/ 最近修改了项目里的logging相关功能,用到了python标准库里的logging模块,在此做一些记录.主要是从官方文档和stack ...

  4. Python中的random模块

    Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...

  5. 浅析Python中的struct模块

    最近在学习python网络编程这一块,在写简单的socket通信代码时,遇到了struct这个模块的使用,当时不太清楚这到底有和作用,后来查阅了相关资料大概了解了,在这里做一下简单的总结. 了解c语言 ...

  6. python中的StringIO模块

    python中的StringIO模块 标签:python StringIO 此模块主要用于在内存缓冲区中读写数据.模块是用类编写的,只有一个StringIO类,所以它的可用方法都在类中.此类中的大部分 ...

  7. python中的select模块

    介绍: Python中的select模块专注于I/O多路复用,提供了select  poll  epoll三个方法(其中后两个在Linux中可用,windows仅支持select),另外也提供了kqu ...

  8. Python中的re模块--正则表达式

    Python中的re模块--正则表达式 使用match从字符串开头匹配 以匹配国内手机号为例,通常手机号为11位,以1开头.大概是这样13509094747,(这个号码是我随便写的,请不要拨打),我们 ...

  9. python中的shutil模块

    目录 python中的shutil模块 目录和文件操作 归档操作 python中的shutil模块 shutil模块对文件和文件集合提供了许多高级操作,特别是提供了支持文件复制和删除的函数. 目录和文 ...

随机推荐

  1. jd面试之感

    一面问题:问题都回答的很好,顺利进入二面 1.单点登录的改造和原理 2.hashmap 3.jvm:堆.方法区.栈,本地方法栈,gc,gc的方式 4.spring的ioc.aop的实现方式cglib和 ...

  2. PTA 7-2 二叉搜索树的结构(30 分)

    7-2 二叉搜索树的结构(30 分) 二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值:若它的右子树不空,则右子树上所有结点的值均大 ...

  3. 良好的GUI设计指南

    一.设计指南 摘自:<需求分析与系统设计(第3版)> 7.1.2. 1. 用户控制 用户事件(菜单动作.鼠标点击.屏幕光标移动等)打开GUI窗口或调用程序:程序执行需要反馈到用户. 2.  ...

  4. Linux下清空或删除大文件内容的2种方法

    在Linux终端下处理文件时,有时候我们想要直接清空文件的内容时但又不用使用任何Linux命令行编辑器,去打开这些文件.那如何才能达到这个目的呢? 1.通过重定向到NULL来清空文件内容 清空或者让一 ...

  5. React Native实现微信分享

    (一)前言 现阶段大家在使用React Native开发项目的时候,基本都会使用到微信好友或者微信朋友圈分享功能吧,那么今天我就带大家实现以下RN微信好友以及朋友圈的分享功能. 刚创建的React N ...

  6. vue--移动端兼容问题

    click的300ms延迟: 引入fastclick库来解决 输入命令 npm install fastclick 在main.js导入 import Vue from 'vue' import Ap ...

  7. virtualbox中的虚拟机和windows共享文件夹

    http://www.jianshu.com/p/4e3c8b06cb06 为什么要共享文件夹? 在工作的过程当中会使用到不同的软件开发环境,php的,python的,nodejs的为了隔离这些应用环 ...

  8. nginx,uwsgi,部署django,静态文件不生效问题

    打开浏览器,然后访问服务器,如果能够正常访问,并且页面链接可以跳转,但是页面却是乱的,那一定是nginx.conf里面的静态文件配置不正确, location /static/ {#expires 3 ...

  9. TRMM数据在arcgis打开

    基本思路:地图配准 1将投影设置为plate carree(world) ,是在投影坐标系统下的世界中选择,当然为了输入坐标方便,设置属性genral中单位为度,显示为度分秒. 2 首先,要知道打开后 ...

  10. vuex 源码:深入 vuex 之辅助函数 mapState

    前言 当一个组件要获取多个 state 的时候,声明计算属性就会变得重复和冗余了.我们可以使用到辅助函数 mapState 来更快更简洁地生成计算属性. 所以我们得清楚,mapState 的作用就是帮 ...