Python进阶-配置文件
一. 什么是配置文件?为什么要做配置文件?
将所有的代码和配置都变成模块化可配置化,这样就提高了代码的重用性,不再每次都去修改代码内部,这个就是我们逐步要做的事情,可配置化
二. 配置文件长啥样?
配置文件常见类型分为ini conf xml cfg,没啥区别,拍脑袋选用conf
文件内容结构为
section
item
option = value
[mysql_db_test]
host = localhost
port = 3306
db = mysql
user = root
passwd = 123456
bool = True
[key_word]
key1 = please
二. python中的ConfigParser类
模块:from configparser import ConfigParser
configparser是Python自带的模块,用法如下:
创建ConfigParser对象。并调用read()函数打开配置文件,里面填的参数是地址
配置文件的格式是:[]包含的叫section,section下有option=value这样的键值
常用配置函数如下
sections() 得到所有的section,并以列表的形式返回
options(section) 得到该section的所有option (key值)
items(section) 得到该section的所有键值对
get(section, option) 得到section中option的值,返回为string类型,指定标签下面的key对应的value值
getint(section, option) 返回为int类型
getintfloat(section, option) 返回为float类型
getintbool(section, option) 返回为boolean类型
add_section() 往配置文件中添加section
set(section, option, value) 在section下设置option=value,如果option存在则会覆盖
cp.write(open('db.conf','w')) 将新增的配置信息写入到文件中
from configparser import ConfigParser
cf = ConfigParser()
cf.read('db.conf')
#获取所有section,返回值为list
secs = cf.sections()
print(secs)
#获取db中的所有属性名
option=cf.options('db')
print(dboption)
#获取db中的键值对
item=cf.items('db')
print(item)
#获取section为db,属性名为db_pass的值
value=cf.get('db','db_pass')
print(value)
#写配置文件
cf.add_section('key_word')
cf.set('key_word', 'key', 'value')
cf.write(open('db.conf', 'w'))
Python进阶-配置文件的更多相关文章
- Python进阶5---StringIO和BytesIO、路径操作、OS模块、shutil模块
StringIO StringIO操作 BytesIO BytesIO操作 file-like对象 路径操作 路径操作模块 3.4版本之前:os.path模块 3.4版本开始 建议使用pathlib模 ...
- python进阶12 Redis
python进阶12 Redis 一.概念 #redis是一种nosql(not only sql)数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,还提 ...
- Python进阶(十)----软件开发规范, time模块, datatime模块,random模块,collection模块(python额外数据类型)
Python进阶(十)----软件开发规范, time模块, datatime模块,random模块,collection模块(python额外数据类型) 一丶软件开发规范 六个目录: #### 对某 ...
- Python进阶:函数式编程实例(附代码)
Python进阶:函数式编程实例(附代码) 上篇文章"几个小例子告诉你, 一行Python代码能干哪些事 -- 知乎专栏"中用到了一些列表解析.生成器.map.filter.lam ...
- Python进阶 - 对象,名字以及绑定
Python进阶 - 对象,名字以及绑定 1.一切皆对象 Python哲学: Python中一切皆对象 1.1 数据模型-对象,值以及类型 对象是Python对数据的抽象.Python程序中所有的数据 ...
- Python进阶-继承中的MRO与super
Python进阶-继承中的MRO与super 写在前面 如非特别说明,下文均基于Python3 摘要 本文讲述Python继承关系中如何通过super()调用"父类"方法,supe ...
- Python进阶 - 命名空间与作用域
Python进阶 - 命名空间与作用域 写在前面 如非特别说明,下文均基于Python3 命名空间与作用于跟名字的绑定相关性很大,可以结合另一篇介绍Python名字.对象及其绑定的文章. 1. 命名空 ...
- python进阶学习笔记(一)
python进阶部分要学习的内容: 学习目标: 1.函数式编程 1.1,什么是函数式编程 函数式编程是一种抽象计算的编程模式 不同语言的抽象层次不同: 函数式编程的特点: python支持的函数式编程 ...
- 【python进阶】详解元类及其应用2
前言 在上一篇文章[python进阶]详解元类及其应用1中,我们提到了关于元类的一些前置知识,介绍了类对象,动态创建类,使用type创建类,这一节我们将继续接着上文来讲~~~ 5.使⽤type创建带有 ...
随机推荐
- shiro实战系列(八)之安全管理器
Apache Shiro 提供安全框架界独一无二的东西:一个完整的企业级 Session 解决方案,从最简单的命令行及智能手机 应用到最大的集群企业 Web 应用程序. 这对许多应用有着很大的影响 ...
- oracle中over函数
1.oracle中按一个字段分组排序后取第一条数据. SELECT * FROM (SELECT ROW_NUMBER() OVER(PARTITION BY 分组字段 ORDER BY 排序字符 D ...
- [转]OpenGL进阶(一) - 多视口
直接给出原文链接:OpenGL进阶(一) - 多视口
- Python2.7-datetime
datetime 模块用于操作日期时间模块内定义了5个类:date,time,datetime,timedelta,tzinfo 1.timedelta对象,代表一个时间间隔datetime.time ...
- Java 将任意数组的任意两个位置的数据进行交换
package yw.fanxing; /** * 自定义泛型测试 * * 写一个方法,将任意数组的任意两个位置的数据进行交换 * * @author yw-tony * */ public clas ...
- keepalived 做全端口映射
global_defs { lvs_id BACKUP } vrrp_sync_group VGM { group { VI_1 } } vrrp_inst ...
- 八,ESP8266 文件保存数据(基于Lua脚本语言)
https://www.cnblogs.com/yangfengwu/p/7533845.html 应该是LUA介绍8266的最后一篇,,,,,,下回是直接用SDK,,然后再列个12345...... ...
- group by having 和where区别联系
原文参考:http://www.51ou.com/browse/msyql/43081.html having 和 where 参考 http://blog.csdn.net/yexudengzhid ...
- 【MongoDB】MongoDB的下载 安装 配置及使用
windows系统 教程 1.下载地址 (官方提供根据系统位数选择对应的bit.exe下载) 由于自己win32系统不支持该官方版本,在网上又找了个 mongodb-win32-i386版本 p ...
- MapReduce -- 最短路径
示例: 给出各个节点到相邻节点的距离,要求算出初始节点到各个节点的最短路径. 数据: A (B,) (D,) B (C,) (D,) C (E,) D (B,) (C,) (E,) E (A,) (C ...