在平時的工程中,我們在構建工程時,常常需要用到配置文件,用來配置項目的一些信息,比如數據庫,請求網址,文件夾,線程、進程數等信息,這樣就可以方便我們通過修改配置文件中的參數來很好地完成整個項目的功能修改或開發。配置文件一般區別於Python代碼,會單獨存放在一個文件夾中,方便管理,常見的配置文件格式有.conf
, .ini
, .yaml
等。
本文使用Python中的configparser模塊來處理conf、ini配置文件。
首先需要安裝configparser模塊,命令如下:
pip3 install configparser
我們以下面的具體工程為例,來講述如何使用Python如何工程中的配置文件,項目結構如下圖:
該項目中只有兩個文件,一個為mysql.conf,是MySQL的連接配置;另一個是Python代碼,用於讀取某張表的具體內容。
其中mysql.conf文件的內容如下:
[mysql]
db_host=localhost
db_port=3306
db_user=root
db_password=
db_database=school
里面的[mysql]是select,類似於HTML中的select(下拉菜單),下面的幾行為option,規定了數據庫的連接信息,包括host、port、user、password以及database。
接着是mysql_test.py,完整的代碼內容如下:
# -*- 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")
# 打開數據庫連接
db = pymysql.connect(host=host,
port=port,
user=user,
password=password,
db=database
)
# 使用cursor()方法創建一個游標對象: cursor
cursor = db.cursor()
# 使用execute()方法執行SQL語句並輸出結果
cursor.execute("select * from employee")
for row in cursor.fetchall():
print(row)
# 關閉游標對象
cursor.close()
# 關閉數據庫連接
db.close()
在該文件中,我們使用configparser模塊解析出mysql.conf文件中MySQL數據庫的連接方式,並使用pymysql模塊獲取school數據庫中employee表的全部數據。輸出的結果如下:
('mac', 'mohan', 20, 'm', 2000.0, datetime.date(2019, 9, 1))
('alex', 'ben', 24, 'f', 2500.0, datetime.date(2012, 8, 9))
讓我們看一眼MySQL中這張表的內容,如下圖:
以上為示例項目的演示內容。
使用配置文件,在工程的構建中,無疑是重要且方便的,因此,在實際的工程實踐中,也應該多多使用配置文件,希望本文的內容能對大家的工作有所幫助~
注意:不妨了解下筆者的微信公眾號: Python爬蟲與算法(微信號為:easy_web_scrape), 歡迎大家關注~