將全部的代碼和配置都變成模塊化可配置化,這樣就提升了代碼的重用性,再也不每次都去修改代碼內部,這個就是咱們逐步要作的事情,可配置化python
模塊:from configparser import ConfigParsermysql
configparser是Python自帶的模塊,用法以下:sql
1. 建立ConfigParser對象。並調用read()函數打開配置文件,裏面填的參數是地址less
2. 配置文件的格式是:[]包含的叫section,section下有option=value這樣的鍵值模塊化
3. 經常使用配置函數以下函數
sections() 獲得全部的section,並以列表的形式返回spa
options(section) 獲得該section的全部option (key值)code
items(section) 獲得該section的全部鍵值對對象
get(section, option) 獲得section中option的值,返回爲string類型,指定標籤下面的key對應的value值blog
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=3306 db=mysql user=root passwd=123456
3. config_operate.py的內容爲
from configparser import ConfigParser #初始化類 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')] mysql 3306