配置文件的格式很是多,有ini、xml、yaml等等,各有優勢,適合不一樣的場景。然而,因爲Python語言的解釋性和動態性,給Python程序員帶來了另外一個選擇:直接用Python變量做爲配置文件格式,相信Python程序員更傾向於這種形式。可是,在享受便利的同時,不能忽略當中存在的不足。python
相信大部分Python程序員都不會陌生,把配置直接用變量的形式寫到一個模塊中,在須要讀取配置的地方,直接import模塊就能獲得配置變量。這得益於:程序員
配置文件示例:編程
<!-- lang: python --> # config.py listen_port = 4444 use_epoll = True ...
在讀取配置的地方:學習
<!-- lang: python --> import config port_num = config.listen_port if config.use_epoll: ...
直接用python變量做爲配置文件格式的優勢是顯然的:code
如此明顯的優點,相信用Python編程的時候,如無特殊狀況,一定會選用這種形式的配置文件。xml
接下來,咱們說說**「特殊狀況」**,什麼狀況下應該避免使用Python變量做爲配置文件。編譯
方便之處在於不用parser,缺點也在於不用parser。import
一般狀況,配置文件是人負責寫,程序負責讀。如今,程序讀配置文件很是方便,人寫配置文件也很是方便。變量
可是會不會存在這樣的狀況,配置文件既要讓人寫,也要讓代碼寫。顯然,這種狀況是存在的,好比:程序的配置能夠直接改配置文件,同時也提供了一套界面讓用戶在界面上修改配置。在界面上修改的配置,最終也是反映到配置文件中,這就要求代碼修改配置文件了。配置
那麼,咱們得到配置文件變量的值容易,把修改後的值寫回去容易嗎?
是否應該使用Python變量做爲配置文件格式?取決於程序的使用場景。It depends.