??在平時(shí)的工程中,我們在構(gòu)建工程時(shí),常常需要用到配置文件,用來配置項(xiàng)目的一些信息,比如數(shù)據(jù)庫,請求網(wǎng)址,文件夾,線程、進(jìn)程數(shù)等信息,這樣就可以方便我們通過修改配置文件中的參數(shù)來很好地完成整個(gè)項(xiàng)目的功能修改或開發(fā)。配置文件一般區(qū)別于Python代碼,會(huì)單獨(dú)存放在一個(gè)文件夾中,方便管理,常見的配置文件格式有
.conf
,
.ini
,
.yaml
等。
??本文使用Python中的configparser模塊來處理conf、ini配置文件。
??首先需要安裝configparser模塊,命令如下:
pip3 install configparser
??我們以下面的具體工程為例,來講述如何使用Python如何工程中的配置文件,項(xiàng)目結(jié)構(gòu)如下圖:
該項(xiàng)目中只有兩個(gè)文件,一個(gè)為mysql.conf,是MySQL的連接配置;另一個(gè)是Python代碼,用于讀取某張表的具體內(nèi)容。
??其中mysql.conf文件的內(nèi)容如下:
[mysql]
db_host=localhost
db_port=3306
db_user=root
db_password=
db_database=school
里面的[mysql]是select,類似于HTML中的select(下拉菜單),下面的幾行為option,規(guī)定了數(shù)據(jù)庫的連接信息,包括host、port、user、password以及database。
??接著是mysql_test.py,完整的代碼內(nèi)容如下:
# -*- coding:utf-8 -*-
# time: 2019-08-28
# place: Daxing Beijing
from
configparser
import
ConfigParser
import
pymysql
cp
=
ConfigParser
(
)
cp
.
read
(
'mysql.conf'
)
host
=
cp
.
get
(
"mysql"
,
"db_host"
)
port
=
cp
.
getint
(
"mysql"
,
"db_port"
)
user
=
cp
.
get
(
"mysql"
,
"db_user"
)
password
=
cp
.
get
(
"mysql"
,
"db_password"
)
database
=
cp
.
get
(
"mysql"
,
"db_database"
)
# 打開數(shù)據(jù)庫連接
db
=
pymysql
.
connect
(
host
=
host
,
port
=
port
,
user
=
user
,
password
=
password
,
db
=
database
)
# 使用cursor()方法創(chuàng)建一個(gè)游標(biāo)對象: cursor
cursor
=
db
.
cursor
(
)
# 使用execute()方法執(zhí)行SQL語句并輸出結(jié)果
cursor
.
execute
(
"select * from employee"
)
for
row
in
cursor
.
fetchall
(
)
:
print
(
row
)
# 關(guān)閉游標(biāo)對象
cursor
.
close
(
)
# 關(guān)閉數(shù)據(jù)庫連接
db
.
close
(
)
在該文件中,我們使用configparser模塊解析出mysql.conf文件中MySQL數(shù)據(jù)庫的連接方式,并使用pymysql模塊獲取school數(shù)據(jù)庫中employee表的全部數(shù)據(jù)。輸出的結(jié)果如下:
('mac', 'mohan', 20, 'm', 2000.0, datetime.date(2019, 9, 1))
('alex', 'ben', 24, 'f', 2500.0, datetime.date(2012, 8, 9))
讓我們看一眼MySQL中這張表的內(nèi)容,如下圖:
??以上為示例項(xiàng)目的演示內(nèi)容。
??使用配置文件,在工程的構(gòu)建中,無疑是重要且方便的,因此,在實(shí)際的工程實(shí)踐中,也應(yīng)該多多使用配置文件,希望本文的內(nèi)容能對大家的工作有所幫助~
注意:不妨了解下筆者的微信公眾號: Python爬蟲與算法(微信號為:easy_web_scrape), 歡迎大家關(guān)注~
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
