暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python | 配置文件++

原创 喻一桓 2020-08-21
913

Python | 配置文件++

说明

代码托管:
Gitee.com:
https://gitee.com/leviathan-litan/python_config_file_plus

在Python中操纵配置文件的模块包是configparser
它一般适用的配置文件的格式是类似于MySQL的参数文件/etc/my.cnf那样的文件的。

这种配置文件中的键(Key)值(Value)一般都是文本形式的静态文件。

但更多的时候我们希望配置文件中的值是可以跟着当前所在环境而动态变化的。
并且,配置文件最好可以像Linux环境中的环境变量文件~/.bash_profile那样引用之前设置好的变量,而不是从头开始写很多冗余的内容。

因此,为了实现上述的两种基本需求,我编写了这样一个Python脚本。
configparser的基础上增加了自定义的语法支持:

  1. 在配置文件中,引用操作系统命令的执行结果为某个参数的值,使用一对【`】号,框选期望的操作系统命令;
  2. 在配置文件中,引用配置文件中定义的其他参数的值,使用一对【@】符号,并且引用参数的格式为:
    参数的[section]名称.参数的key名称

具体的使用方法可以参阅下面的演示部分。

演示

配置文件

[os]
username=Leviathan·利维坦
hostname=<@os.username@>你好,欢迎来到#`hostname`#

例如,我希望从上面的配置文件中获取[os]下的hostname参数的值;

运行效果如下所示:

D:\PyCharm_data\python_config_file_plus\venv\Scripts\python.exe D:/PyCharm_data/python_config_file_plus/config_file_plus.py
===============
<Leviathan·利维坦>你好,欢迎来到#Godzilla#

Process finished with exit code 0

可以看到:

  1. 通过【@】获得了对配置文件中其他参数的引用
  2. 通过【`】获得了操作系统命令执行的结果

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论