1.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类型

1.2 写入配置文件

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

1.3 命令执行展示

config.ini内容如下:

[auth]
accesskey = HK6ICA0098BMC9421NMD
secretkey = BdbkPkgS0gJ586i9325i1rB10gZSIkW4i7uIsRYO [api]
server = 192.168.8.56:8080
server = 192.168.8.56:8080
version = V1
default_regin = wuli11-777 [compute]
default_vpcid=989263d7-e897-4f0e-af6f-751a69def74c
default_msub_netid=589fdd7f-91a8-42a4-9fe9-add81448ef32
default_image_id=cef886fc-4b88-4f5d-980b-2df2b7e38f6b
default_cpu_count=1
default_mem_size=1
default_login_mode=passwd
default_password=Pass1115word
default_instance_name=name
default_pay_type=Pay_Dynamic [shutdown]
default_instanceid=9d9f777e-9bbc-4ce8-91d2-638dc756aa3a

#导入ConfigParser模块

>>> import ConfigParser

#生存cf对象

>>> cf = ConfigParser.ConfigParser()
#读取配置文件
>>> cf.read("config.ini")
['config.ini']

#以列表方式返回所有的section
>>> sections = cf.sections()
>>> print 'sections:', sections
sections: ['auth', 'api', 'compute', 'shutdown']

#获取指定section的所有option值
>>> options = cf.options("auth")
>>> print 'options:',options
options: ['accesskey', 'secretkey']

#获取指定section所有的option的键值对
>>> valus = cf.items('auth')
>>> print valus
[('accesskey', 'HK6ICA0098BMC9421NMD'), ('secretkey', 'BdbkPkgS0gJ586i9325i1rB10gZSIkW4i7uIsRYO')]

#获取指定section,option的值,且值的类型为string
>>> valus1 = cf.get('auth','accesskey')
>>> print valus1
HK6ICA0098BMC9421NMD

#获取指定section,option的值,且值的类型为int
>>> valus2 = cf.getint('compute','default_cpu_count')
>>> print valus2

#更新指定section,option的值,如果option不存在,直接新增option以及对应的值

>>> cf.set('compute','default_cpu_count','2')
>>> cf.set('compute','name','luolijun')

#新增section test
>>> cf.add_section('test')

#给新增的section test增加option以及对应的值
>>> cf.set('test','test_name','zhangsan')

#将更改写入到配置文件中
>>> cf.write(open('config.ini','w'))

python 之ConfigParser模块学习的更多相关文章

  1. python中confIgparser模块学习

    python中configparser模块学习 ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section ...

  2. python封装configparser模块获取conf.ini值(优化版)

    昨天晚上封装了configparser模块,是根据keyname获取的value.python封装configparser模块获取conf.ini值 我原本是想通过config.ini文件中的sect ...

  3. Python中ConfigParser模块应用

    Python中ConfigParser模块应用 Python的ConfigParser模块定义了3个对INI文件进行操作的类 RawConfigParser.ConfigParser和SafeConf ...

  4. python中configparser模块读取ini文件

    python中configparser模块读取ini文件 ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(se ...

  5. python 的ConfigParser模块

    Python 之ConfigParser模块 一.ConfigParser简介 ConfigParser 是用来读取配置文件的包.配置文件的格式如下:中括号“[ ]”内包含的为section.sect ...

  6. Python - configParser模块学习

    configParser 模块用于操作配置文件 注:Parser汉译为“解析”之意. 配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键= ...

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

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

  8. 【Python】logging模块学习笔记

    因为做接口自动化测试遇到的一个代码逻辑上的问题,又不知道具体问题出在哪里,所以在模块化代码之前,先学习下python的日志模块logging. 入门1 入门2 日志级别大小关系为:CRITICAL & ...

  9. python封装configparser模块获取conf.ini值

    configparser模块是python自带的从文件中获取固定格式参数的模块,因为是python只带的,大家用的应该很多,我觉得这个参数模块比较灵活,添加参数.修改参数.读取参数等都有对应的参数供用 ...

随机推荐

  1. Java NIO中的Buffer

    简介 Buffer缓冲区,首先要弄明白的是,缓冲区是怎样一个概念.它其实是缓存的一种,我们常说的缓存,包括保存在硬盘上的浏览器缓存,保存在内存中的缓存(比如Redis.memcached).Buffe ...

  2. 给自己的小练习19-[kuangbin带你飞]专题九连通图

    没有写题解.补一波 Network of Schools 问题1:求有向图中入度为0的点个数 问题2:使得整个图变成一个联通分量 问题1直接缩点统计 问题2=max(入度为0的点,出度为0的点),注意 ...

  3. windows 10上利用Microsoft RTF文件(CVE-2017-0199)进行攻击

    Microsoft Word下的恶意RTF文件容易被收到攻击,在本文中,我们使用python脚本对Microsoft Word 2013进行oday攻击演示,该脚本会生成恶意的.rtf文件,并提供目标 ...

  4. 【loj#139】树链剖分

    #139. 树链剖分 题目描述 这是一道模板题. 给定一棵 $n$个节点的树,初始时该树的根为 111 号节点,每个节点有一个给定的权值.下面依次进行 $m$ 个操作,操作分为如下五种类型: 换根:将 ...

  5. 解决eclipse快捷键Ctrl+Alt+Down冲突问题办法

    解决eclipse快捷键Ctrl+Alt+Down冲突问题办法 时间:2016-01-18 21:11:08      阅读:376      评论:0      收藏:0      [点我收藏+] ...

  6. Nginx -- proxy_pass配置

    一.proxy_pass 作用域: location 不影响浏览器地址栏的url 设置被代理server的协议和地址 协议可以为http或https 地址可以为域名或IP 二.配置规则 2.1 测试环 ...

  7. [LeetCode] Matrix 值修改系列,例题 Surrounded Regions,Set Matrix Zeroes

    引言 Matrix内部的值修改严格来讲放在一个系列里不大合适,因为对于不同的问题,所用的算法和技巧可能完全不同,权且这样归类,以后需要时再拆分吧. 例题 1 Given a 2D board cont ...

  8. JavaScript中callee与caller,apply与call解析

    1. arguments.callee 1.1 解释 返回正被执行的 Function 对象,也就是所指定的 Function 对象的正文. 1,.2 说明 callee 属性的初始值就是正被执行的 ...

  9. java类的静态属性值获取

    获取某个类实例的静态属性: public class ErrorCode { private String code; private String message; private ErrorCod ...

  10. spring boot 2.0.3+spring cloud (Finchley)8、微服务监控Spring Boot Admin

    参考:Spring Boot Admin 2.0 上手 Spring Boot Admin 用于管理和监控一个或多个Spring Boot程序,在 Spring Boot Actuator 的基础上提 ...