1.简介

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

2.示例

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

  1. [section_a]
  2. a_key1 = str content
  3. a_key2 = 10
  4.  
  5. [section_b]
  6. b_key1 = b_value1
  7. b_key2 = b_value2

2.1读取配置文件

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

2.2读取数据

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

结果如下:

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

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

结果如下:

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

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

结果如下:

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

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

结果如下:

2.3写入数据

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

结果如下:

  1. [section_a]
  2. a_key1 = str content
  3. a_key2 = 10
  4.  
  5. [section_b]
  6. b_key1 = new_value1
  7. b_key2 = b_value2

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

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

结果如下:

  1. [section_a]
  2. a_key1 = str content
  3. a_key2 = 10
  4.  
  5. [section_b]
  6. b_key1 = new_value1
  7. b_key2 = b_value2
  8. b_key3 = None

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

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

结果如下:

  1. [section_a]
  2. a_key1 = str content
  3. a_key2 = 10
  4.  
  5. [section_b]
  6. b_key1 = new_value1
  7. b_key2 = b_value2
  8. b_key3 = None
  9. b_new_key = b_new_value

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

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

结果如下:

  1. [section_a]
  2. a_key1 = str content
  3. a_key2 = 10
  4.  
  5. [section_b]
  6. b_key1 = new_value1
  7. b_key2 = b_value2
  8. b_key3 = None
  9. b_new_key = b_new_value
  10.  
  11. [section_c]

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

  1. # 写入文件
  2. 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. super()、this属性与static静态方法的执行逻辑

    1.super的构造顺序:永远优先构造父类的方法 2.static永远在类实例之前执行,this的使用范围为实例之后

  2. Educational Codeforces Round 3 D. Gadgets for dollars and pounds 二分+前缀

    D. Gadgets for dollars and pounds time limit per test 2 seconds memory limit per test 256 megabytes ...

  3. 【二十八】xml编程(dom\xpath\simplexml)

    1.xml基础概念 作用范围: 作为程序通讯的标准. 作为配置文件. 作为小型数据库. xml语法: <根标签> <标签 元素="元素值" ...>< ...

  4. 由设置body线性背景色引发的问题-----当声明文档类型时,对body设置线性背景色,页面背景色无法整体线性过渡

    问题:当声明文档类型时,对body设置线性背景色,页面背景色无法整体线性过渡 不声明文档类型时,对body设置线性背景色 <HTML> <head> <meta char ...

  5. Qt5_当前exe所在路径

    可以通过以下方式来获取: 1. #include <QDir>#include <QDebug> QDir dir; qDebug() << "curre ...

  6. 排序——选择排序(java描述)

    百度百科的描述如下:选择排序(Selection sort)是一种简单直观的排序算法.它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元 ...

  7. this 指向 及 调用方式

    1. this 指向 函数执行方式 this指向1.直接圆括号 window2.对象调用 对象3.事件触发 触发对象4.定时器运行 window (常常定义变量存储this以达到this指向特定对象) ...

  8. (转)Linux下设置和查看环境变量

    原文地址:<Linux下设置和查看环境变量> Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1. 永久的:需要修改配置文件,变量永久生效. 2. 临时的:使用e ...

  9. 01-python基础知识

    1.这两个参数是什么意思:*args,**kwargs?我们为什么要使用它们? 答案 如果我们不确定要往函数中传入多少个参数,或者我们想往函数中以列表和元组的形式传参数时,那就使要用*args:如果我 ...

  10. vue 上传单个图片自定义增加progress改良用户体验

    <el-tab-pane label="开发商logo" name="first" style="position: relative;&quo ...