很多項目對配置文件的使用做法是:
配置文件寫在一個或多個python文件中,比如此處的conf.py。
項目中哪個模塊用到這個配置文件就直接通過importconf這種形式來在代碼中使用配置。
這種做法我不太贊同:
這讓單元測試變得困難(因為模塊內(nèi)部依賴了外部配置)
另一方面配置文件作為用戶控制程序的接口,應(yīng)當(dāng)可以由用戶自由指定該文件的路徑。
程序組件可復(fù)用性太差,因為這種貫穿所有模塊的代碼硬編碼方式,使得大部分模塊都依賴conf.py這個文件。
所以,我認(rèn)為配置的使用,更好的方式是,
模塊的配置都是可以靈活配置的,不受外部配置文件的影響。
程序的配置也是可以靈活控制的。
能夠佐證這個思想的是,用過nginx和mysql的同學(xué)都知道,nginx、mysql這些程序都可以自由的指定用戶配置。
所以,不應(yīng)當(dāng)在代碼中直接importconf來使用配置文件。上面目錄結(jié)構(gòu)中的conf.py,是給出的一個配置樣例,不是在寫死在程序中直接引用的配置文件??梢酝ㄟ^給main.py啟動參數(shù)指定配置路徑的方式來讓程序讀取配置內(nèi)容。當(dāng)然,這里的conf.py你可以換個類似的名字,比如settings.py。或者你也可以使用其他格式的內(nèi)容來編寫配置文件,比如settings.yaml之類的。
以上內(nèi)容為大家介紹了關(guān)于Python配置文件的使用方法,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。