# -*-  coding:utf-8 -*-
'''
1、getboolean() 根据一定的规则将配置项的值转换为布尔值
getboolean() 的真值规则:
0、no、false 和off 都会被转义为False
1、yes、true 和on则都被转义为True
其他值都会导致抛出ValueError 异常 在ConfigParser支持的配置文件格式里,有一个[DEFAULT] 节,当读取的配置项在不在指定的节里时,ConfigParser
将会到[DEFAULT] 节中查找 get(section, option[, raw[, vars]]) 中的全名参数vars,查找规则如下:
1)如果找不到节名,就抛出NoSectionError。
2)如果给定的配置项出现在get() 方法的vars 参数中,则返回vars 参数中的值。
3)如果在指定的节中含有给定的配置项,则返回其值。
4)如果在[DEFAULT] 中有指定的配置项,则返回其值。
5)如果在构造函数的defaults 参数中有指定的配置项,则返回其值。
6)抛出NoOptionError。 '''
'''
示例:C:\\example.ini
[DEFAULT]
in_default = 'an option value in default'
conn_str = %(dbn)s://%(user)s:%(pw)s@%(host)s:%(port)s/%(db)s
dbn = mysql user = root
host=localhost
port = 3306 [section1]
option1=0 [db1]
user = aaa
pw=ppp
db=example [db2]
host=192.168.0.110
pw=www
db=example
''' import ConfigParser
conf = ConfigParser.ConfigParser()
conf.read("C:\\example.ini")
print conf.getboolean('section1', 'option1')
print conf.get('db1', 'conn_str')
print conf.get('db2', 'conn_str') '''
False
mysql://aaa:ppp@localhost:3306/example
mysql://root:www@192.168.0.110:3306/example
'''

建议40:深入掌握ConfigParser的更多相关文章

  1. [改善Java代码]建议40:匿名类的构造函数很特殊

    建议40: 匿名类的构造函数很特殊 在上一个建议中我们讲到匿名类虽然没有名字,但可以有一个初始化块来充当构造函数,那这个构造函数是否就和普通的构造函数完全一样呢?我们来看一个例子,设计一个计算器,进行 ...

  2. 编写高质量代码改善C#程序的157个建议——建议40:使用event关键字为委托施加保护

    建议40:使用event关键字为委托施加保护 在建议中我们实现了一个具有通知功能的文件传输类,如下: class FileUploader { public delegate void FileUpl ...

  3. 对Android开发者有益的40条优化建议

    下面是开始Android编程的好方法: 找一些与你想做事情类似的代码 调整它,尝试让它做你像做的事情 经历问题 使用StackOverflow解决问题 对每个你像添加的特征重复上述过程.这种方法能够激 ...

  4. 对 Android 开发者有益的 40 条优化建议

    本文转载于:http://www.oschina.net/translate/40-developer-tips-for-android-optimization?cmp 下面是开始Android编程 ...

  5. 【转】对Android开发者有益的40条优化建议

    下面是开始Android编程的好方法: 找一些与你想做事情类似的代码 调整它,尝试让它做你像做的事情 经历问题 使用StackOverflow解决问题 对每个你像添加的特征重复上述过程.这种方法能够激 ...

  6. [转]对Android开发者有益的40条优化建议

    下面是开始Android编程的好方法: 找一些与你想做事情类似的代码 调整它,尝试让它做你像做的事情 经历问题 使用StackOverflow解决问题 对每个你像添加的特征重复上述过程.这种方法能够激 ...

  7. 对Android 开发者有益的 40 条优化建议(转)

    下面是开始Android编程的好方法: 找一些与你想做事情类似的代码 调整它,尝试让它做你像做的事情 经历问题 使用StackOverflow解决问题 对每个你像添加的特征重复上述过程.这种方法能够激 ...

  8. 我的Android进阶之旅------>对Android开发者有益的40条优化建议

    下面是开始Android编程的好方法: 找一些与你想做事情类似的代码 调整它,尝试让它做你像做的事情 经历问题 使用StackOverflow解决问题 对每个你像添加的特征重复上述过程.这种方法能够激 ...

  9. 改善Python 程序的 91 个建议

    建议1.理解Pythonic概念—-详见Python中的<Python之禅> 建议2.编写Pythonic代码 (1)避免不规范代码,比如只用大小写区分变量.使用容易混淆的变量名.害怕过长 ...

随机推荐

  1. 你设计的应用是IO依赖型还是CPU依赖型?

    这个话题可能看起来非常枯燥,但它对mysql的性能优化非常重要. 其实我在MYSQL 咨询工作中无时无刻接不在接触这类问题. IO工作负载与cpu依赖全然不同,尤其是当你的工作集(通常仅仅有数据库的一 ...

  2. mysql 顺序问题

    unsigned    必须出在 not  null 的前面,如果出现在这个后面就出错呢.

  3. python urllib 和 urllib2

    urllib 和 urllib2 都是接受URL请求的相关模块,但是提供了不同的功能.两个最显著的不同如下: urllib 仅可以接受URL,不能创建 设置了headers 的Request 类实例: ...

  4. Ionic 取消自带动画效果

    $ionicConfigProvider.views.transition('none'); 或: <ion-view view-title="个人中心" animation ...

  5. windows 下XAMPP 使用Nginx替代apache作为服务器

    说实话, 在windows下使用Nginx 着实有点不太方便, 但因项目需求, 又不想换系统(虽然可以搞个虚拟机玩), 只能用Nginx了 好了, 不多说了. 开始... 首先我用的是xampp包(A ...

  6. Windows中安装Scrapy

    在linux中安装Scrapy只需要导入一些非python的支持包,在windows中安装Scrapy则是一波三折. 总之来说,主要分为以下几个步骤,可能由于系统问题(国内个人机子,甚至是小企业的机子 ...

  7. redis 列表的底层数据结构链表

    当一个列表键包含了数量比较多的元素,又或者列表中包含的的元素都是比较长的字符串,Redis就会使用链表作为列表键的底层实现 每个列表节点的数据结构为 列表数据接口中保存了 该节点前置节点的指针.后置节 ...

  8. 《从零开始学Swift》学习笔记(Day 30)——选择类还是结构体呢?

    原创文章,欢迎转载.转载请注明:关东升的博客 类和结构体非常相似,很多情况下没有区别.如果你是设计人员在进行系统设计时候,是将某种类型设计成为类还是结构体? 类和结构体异同: 类和结构体都有如下功能: ...

  9. 【穿插】Python基础之文件、文件夹的创建,对上一期代码进行优化

    在上一期妹子图的爬虫教程中,我们将图片都保存在了代码当前目录下,这样并不便于浏览,我们应该将同一个模特的图片都放在一个文件夹中. 今天我们就简单讲一下Python下如何创建文件.文件夹,今后就可以用上 ...

  10. SQLServer中exists和except用法

    一.exists 1.1 说明 EXISTS(包括 NOT EXISTS)子句的返回值是一个BOOL值.EXISTS内部有一个子查询语句(SELECT ... FROM...),我将其称为EXIST的 ...