配置文件的格式很是多,有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.