一. 什么是配置文件?為什么要做配置文件?
將所有的代碼和配置都變成模塊化可配置化,這樣就提高了代碼的重用性,不再每次都去修改代碼內部,這個就是我們逐步要做的事情,可配置化
二. python中的ConfigParser類
模塊:from configparser import ConfigParser
configparser是Python自帶的模塊,用法如下:
1. 創建ConfigParser對象。並調用read()函數打開配置文件,里面填的參數是地址
2. 配置文件的格式是:[]包含的叫section,section下有option=value這樣的鍵值
3. 常用配置函數如下
sections() 得到所有的section,並以列表的形式返回
options(section) 得到該section的所有option (key值)
items(section) 得到該section的所有鍵值對
get(section, option) 得到section中option的值,返回為string類型,指定標簽下面的key對應的value值
getint(section, option) 得到section中的option值,返回為int類型
add_section() 往配置文件中添加section
set(section, name, value) 在section下設置name=value
with open(configfile) as cfile:
write(cfile)
將新增的配置信息寫入到文件中
三. 實例
1. 在lesson_config包下創建一個配置文件db.cfg和一個py文件config_operate.py
2. db.cfg的內容為
[mysql_db_test]
host=localhost
port=3306db=mysql
user=root
passwd=123456
3. config_operate.py的內容為
from configparser importConfigParser#初始化類
cp =ConfigParser()
cp.read("db.cfg")#得到所有的section,以列表的形式返回
section =cp.sections()[0]print(section)#得到該section的所有option
print(cp.options(section))#得到該section的所有鍵值對
print(cp.items(section))#得到該section中的option的值,返回為string類型
print(cp.get(section, "db"))#得到該section中的option的值,返回為int類型
print(cp.getint(section, "port"))
運行結果
mysql_db_test
['host', 'port', 'db', 'user', 'passwd']
[('host', 'localhost'), ('port', '3306'), ('db', 'mysql'), ('user', 'root'), ('passwd', '123456')]
mysql3306