ConfigParser模塊是對配置文件處理比較好的一個模塊,它可以讀取后綴為.ini的文件內(nèi)容燎含,以及增加
配置文件的內(nèi)容宾濒,比如我們在一個文件夾config中新增config.ini,填寫的信息是mysql的信息屏箍,來連接數(shù)
據(jù)庫信息绘梦。我們先來看ConfigParser模塊常用的方法,以及該模塊的詳細(xì)的幫助信息赴魁,然后通過讀取數(shù)
據(jù)庫的配置信息卸奉,實現(xiàn)對mysql的連接。
下來我們來看下該模塊的具體應(yīng)用颖御,我們先來完善config.ini配置文件的信息榄棵,見該配置文件里面的內(nèi)容:
[mysql_info]
hostname=localhost
port=3306
username=root
password=123456
database=spider
見對該配置文件操作的代碼:
import configparser
import os
config = configparser.ConfigParser()
# 讀取配置文件的內(nèi)容
config.read(os.path.join(os.path.dirname(__file__), 'config', 'config.ini'))
# 獲取配置文件的所有節(jié)點
print(config.sections())
# 獲取mysql_info節(jié)點下的內(nèi)容
ret = config.options('mysql_info')
for item in ret:
print(item)
print('檢查節(jié)點是否存在:', config.has_option('mysql_info', 'hostname'))
print('讀取節(jié)點下的文件內(nèi)容:', config.get('mysql_info', 'hostname'))
# 檢查mysql_info節(jié)點中是否存在db節(jié)點,如果存在,就刪除疹鳄,不過不存在就添加
print(config.has_option('mysql_info', 'db'))
if not config.has_option('mysql_info', 'db'):
config.set('mysql_info', 'db', 'spider')
config.write(open(os.path.join(os.path.dirname(__file__), 'config', 'config.ini'),'w'))
else:
config.remove_option('mysql_info', 'db')
OK拧略,我們我們寫一個簡單的函數(shù),來連接mysql的數(shù)據(jù)庫服務(wù)瘪弓,數(shù)據(jù)庫的信息存儲在配置信息文件中垫蛆,見實現(xiàn)的代碼:
import configparser
import os
import pymysql
def get_config():
mysql_info={}
config=configparser.ConfigParser()
config.read(os.path.join(os.path.dirname(__file__), 'config', 'config.ini'))
hostname = config.get(config.sections()[0], 'hostname')
port = config.get(config.sections()[0], 'port')
username = config.get(config.sections()[0], 'username')
password = config.get(config.sections()[0], 'password')
db = config.get(config.sections()[0], 'db')
mysql_info['host'] = hostname
mysql_info['port'] = int(port)
mysql_info['user'] = username
mysql_info['password'] = password
mysql_info['db'] = db
return mysql_info
info = get_config()
print(info)
try:
conn = pymysql.Connect(**info)
print('數(shù)據(jù)庫連接成功')
except:
print('數(shù)據(jù)庫連接失敗')