python变量的使用方式_用python变量作为配置文件格式的利与弊

本文探讨了使用Python变量作为配置文件格式的优缺点。优点包括无需额外解析器,直接导入即可使用,方便快捷。缺点则在于无法方便地修改和保存配置,可能导致注释丢失和变量顺序混乱。结论指出,是否采用此方式取决于具体应用场景。
摘要由CSDN通过智能技术生成

用Python变量作为配置文件格式的利与弊

配置文件的格式非常多,有ini、xml、yaml等等,各有优点,适合不同的场景。然而,由于Python语言的解释性和动态性,给Python程序员带来了另一个选择:直接用Python变量作为配置文件格式,相信Python程序员更倾向于这种形式。但是,在享受便利的同时,不能忽略当中存在的不足。

用Python变量作为配置文件格式

相信大部分Python程序员都不会陌生,把配置直接用变量的形式写到一个模块中,在需要读取配置的地方,直接import模块就能得到配置变量。这得益于:

Python是解释性语言,无需编译,修改后的源文件直接可以运行;

Python优雅的语法,直观的变量定义,灵活的数据类型。

配置文件示例:

# config.py

listen_port = 4444

use_epoll = True

...

在读取配置的地方:

import config

port_num = config.listen_port

if config.use_epoll:

...

优点

直接用python变量作为配置文件格式的优点是显然的:

不用任何parser(解释器)来解释配置文件。Python解释器本身就担当了parser的角色。

使用自然、方便,直接可用,和其他变量的使用没有任何区别。

学习成本低,不需要学习其他配置文件的格式和语法。

如此明显的优势,相信用Python编程的时候,如无特殊情况,必定会选用这种形式的配置文件。

接下来,我们说说“特殊情况”,什么情况下应该避免使用Python变量作为配置文件。

缺点

方便之处在于不用parser,缺点也在于不用parser。

通常情况,配置文件是人负责写,程序负责读。现在,程序读配置文件非常方便,人写配置文件也非常方便。

但是会不会存在这样的情况,配置文件既要让人写,也要让代码写。显然,这种情况是存在的,比如:程序的配置可以直接改配置文件,同时也提供了一套界面让用户在界面上修改配置。在界面上修改的配置,最终也是反映到配置文件中,这就要求代码修改配置文件了。

那么,我们获得配置文件变量的值容易,把修改后的值写回去容易吗?

容易:按照语法格式,变量 = 值,写到配置文件即可。

不容易:由于没有任何parser的支持,我们我们只知道有这个变量,知道这个变量的值,但是,不能定位到原来配置文件中变量的位置,这就限制了我们无法在原来的位置上修改,只能重新生成整个配置文件。

重新生成配置文件会带来什么问题?

注释丢失,我们没法获得配置文件的注释,也就无法重新生成,所有注释都将丢失。虽然不影响功能,但是用户下次想要手动修改的时候,没有了先前的注释非常不方便。

变量顺序混乱,在Python解释器看来,配置文件的变量是没有顺序,但是现实中,用户对配置变量的理解是功能相近分成“一组”,根据作用的大小、先后排出“顺序”。顺序混乱了,用户想要手动修改的时候将会非常困惑。

结论

是否应该使用Python变量作为配置文件格式?取决于程序的使用场景。It depends.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值