解析多个配置文件的最佳实践是什么?
我想解析mysql服务器配置,并重新编写配置。
配置允许发出多行命令,如下所示:
!includedir /etc/mysql.d/因此,有趣的是,一些配置可能位于主文件中,而其他配置可能位于子文件中。
我认为pyparsing只适用于一个文件或一个内容字符串。
所以我可能首先需要读取所有文件,也许还需要重新构造内容,比如为不同的文件添加头文件……
====main file====
[mysql]
....
!includedir /etc/mysql.d/
====/etc/mysql.d/my.cnf====
[client]
.....我将只有一个pyparsing调用。然后,我可以将所有内容解析为一个大数据对象,对文件部分进行分组,并将文件名作为关键字。这样我也可以把数据写回磁盘...
另一种可能是解析主文件,并以编程方式解析在主文件中找到的所有其他文件。因此,我会有几个pyparsing调用。
你认为如何?
发布于 2017-05-17 18:57:36
在pyparsing代码中,将解析操作附加到与include语句匹配的表达式,让它解析被引用文件或文件目录的内容,然后将这些结果合并到当前解析输出中。解析操作将对parseString进行连续调用,而您的代码将只进行一次调用。
查看添加到pyparsing示例目录中的这个新示例:https://github.com/pyparsing/pyparsing/blob/master/examples/include_preprocessor.py
https://stackoverflow.com/questions/44021524
复制相似问题