一、ini:

1..ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式

2.ini文件创建方法:

(1)先建立一个记事本文件。
(2)工具 - 文件夹选项 - 查看 - 去掉“隐藏已知文件的扩展名”前面的√。这样一来,你建立的那个记事本的扩展名就显示出来了“*.txt”。然后,你把这个.txt扩展名更改为.ini

3.ini文件的格式:

  (1)节:section

    节用方括号括起来,单独占一行,例如:
    [section]
  (2)键:key
    键(key)又名属性(property),单独占一行用等号连接键名和键值,例如:
    name=value
  (3)注释:comment
    注释使用英文分号(;)开头,单独占一行。在分号后面的文字,直到该行结尾都全部为注释,例如:
    ; comment text
 
二、ConfigParser

读写配置文件ConfigParser模块是python自带的读取配置文件的模块.通过他可以方便的读取配置文件。

Python的ConfigParser Module中定义了3个类对INI文件进行操作。分别是RawConfigParser、ConfigParser、SafeConfigParser。RawCnfigParser是最基础的INI文件读取类,ConfigParser、SafeConfigParser支持对%(value)s变量的解析。

1.读取配置文件

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

2.写入配置文件

-add_section(section)   添加一个新的section

-set( section, option, value)   对section中的option进行设置

-remove_section(section)                             删除某个 section

-remove_option(section, option)                 删除某个 section 下的 option

需要调用write将内容写回到配置文件。

3.测试代码

(1)配置文件test.cfg

  [sec_a]  

  a_key1 = 20

  a_key2 = 10

  [sec_b]  

  b_key1 = 121

  b_key2 = b_value2

  b_key3 = $r

  b_key4 = 127.0.0.1

(2)测试文件(test.py):

  #生成config对象  

  conf = ConfigParser.ConfigParser()

  #用config对象读取配置文件  

  conf.read("test.cfg")

  #以列表形式返回所有的section  

  sections = conf.sections()

    print 'sections:', sections         #sections: ['sec_b', 'sec_a']

  #得到指定section的所有option  

  options = conf.options("sec_a")

    print 'options:', options           #options: ['a_key1', 'a_key2']

  #得到指定section的所有键值对  

  kvs = conf.items("sec_a")    

    print 'sec_a:', kvs                 #sec_a: [('a_key1', '20'), ('a_key2', '10')]

  #指定section,option读取值  

  str_val = conf.get("sec_a", "a_key1")

  int_val = conf.getint("sec_a", "a_key2")

    print "value for sec_a's a_key1:", str_val       #value for sec_a's a_key1: 20

    print "value for sec_a's a_key2:", int_val       #value for sec_a's a_key2: 10

  #写配置文件  

  #更新指定section,option的值  

  conf.set("sec_b", "b_key3", "new-$r")

  #写入指定section增加新option和值  

  conf.set("sec_b", "b_newkey", "new-value")

  #增加新的section  

  conf.add_section('a_new_section')

  conf.set('a_new_section', 'new_key', 'new_value')

  #写回配置文件  

  conf.write(open("test.cfg", "w"))

ConfigParser 读写配置文件的更多相关文章

  1. Python-通过configparser读写配置文件

    Python读写配置文件: 1.创建配置文件(文件名以.conf或.ini结束的文件表示配置文件) 2.导入所需模块 OS, configparser >>> import os & ...

  2. python利用ConfigParser读写配置文件

    ConfigParser 是Python自带的模块, 用来读写配置文件, 用法非常简单. 配置文件的格式是: []包含的叫section,    section 下有option=value这样的键值 ...

  3. Python(2.7.6) ConfigParser - 读写配置文件

    Python 标准库的 ConfigParser 模块提供一套 API 来读取和操作配置文件. 配置文件的格式 a) 配置文件中包含一个或多个 section, 每个 section 有自己的 opt ...

  4. Python模块之ConfigParser - 读写配置文件

    Python 标准库的 ConfigParser 模块提供一套 API 来读取和操作配置文件. 配置文件的格式 a) 配置文件中包含一个或多个 section, 每个 section 有自己的 opt ...

  5. 用ConfigParser模块读写配置文件——Python

    对于功能较多.考虑用户体验的程序,配置功能是必不可少的,如何存储程序的各种配置? 1)可以用全局变量,不过全局变量具有易失性,程序崩溃或者关闭之后配置就没了,再者配置太多,将变量分配到哪里也是需要考虑 ...

  6. Python自动化测试 (二) ConfigParser模块读写配置文件

    ConfigParser 是Python自带的模块, 用来读写配置文件, 用法及其简单. 直接上代码,不解释,不多说. 配置文件的格式是: []包含的叫section,    section 下有op ...

  7. Python自动化测试 -ConfigParser模块读写配置文件

    C#之所以容易让人感兴趣,是因为安装完Visual Studio, 就可以很简单的直接写程序了,不需要做如何配置. 对新手来说,这是非常好的“初体验”, 会激发初学者的自信和兴趣. 而有些语言的开发环 ...

  8. python:实例化configparser模块读写配置文件

    之前的博客介绍过利用python的configparser模块读写配置文件的基础用法,这篇博客,介绍下如何实例化,方便作为公共类调用. 实例化的好处有很多,既方便调用,又降低了脚本的维护成本,而且提高 ...

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

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

随机推荐

  1. 基于canvas的原生JS时钟效果

    概述 运用html5新增画布canvas技术,绘制时钟效果,无需引用任何插件,纯js. 详细 代码下载:http://www.demodashi.com/demo/11935.html 给大家介绍一个 ...

  2. windows下安装redis及其客户端

    首先下载redis安装包:https://github.com/MSOpenTech/redis/releases 解压安装包到相应文件夹,任何盘符都行. 文件介绍:redis-server.exe: ...

  3. PHP代码优化之缓存(转)

    我们在编写程序时,总是想要使自己的程序占用资源最小,运行速度更快,代码量更少.往往我们在追求这些的同时却失去了很多东西.下面我想讲讲我对PHP优化的理解.优化的目的是花最少的代价换来最快的运行速度与最 ...

  4. EMQ ---v2.3.11源码成熟度

    从原作者那边了解到,总体还可以,但是做不到99.99%稳定.主要是连接内存占用没有保护. pubsub均衡时很稳定,但是集群或大量消息向少量订阅发布时会崩溃,小概率情况. EMQ中CPU是公平分配给M ...

  5. android 上下左右手势判断 根据别人的改的

    GestureUtils.java package com.gesture; import android.content.Context;import android.util.DisplayMet ...

  6. [C/C++11语法]_[0基础]_[lamba 表达式介绍]

    场景 lambda 表达式在非常多语言里都有一席之地,由于它的原因,能够在函数里高速定义一个便携的函数,或者在函数參数里直接高速构造和传递. 它能够说是匿名函数对象,一般仅仅适用于某个函数内,仅仅做暂 ...

  7. Python3内置字符串方法详解

    官网文档地址:https://docs.python.org/3/library/stdtypes.html#string-methods基于 Python 3.X 版本 str.capitalize ...

  8. 删除mysql数据库表里的记录

    如果记录不再需要,可以用delete 命令进行删除,语法如下: DELETE FROM tablename [WHERE CONDITION] 例如,在emp 中将ename 为‘dony’的记录全部 ...

  9. mysql-5.7.9 shutdown 语法详解

    mysql-5.7.9 终于提供shutdown 语法啦: 之前如果想关闭一个mysql数据库可以通过kill 命令.mysqladmin shutdown .service mysqld stop ...

  10. Json映射为Map,避免定义过多pojo类

    我们在开发过程中经常会遇到解析Json字符串的情况,这时候采用开源工具可以快速将json字符串映射为pojo对象.而在某些业务场景中,往往为了获得json字符串中某个属性的值而不得不定义一个pojo类 ...