我想用Python来制作配置文件生成器。我的主要想法是使用模板文件和一些带有实际设置的XML文件输入输入。然后使用该程序生成实际配置文件。
示例:
[template file]
server_IP = %serverip%
server_name = %servername%
[XML file]
<serverinfo>
<server ip="x.x.x.x" name="host1" />
<server ip="x.x.x.x" name="host2" />
</serverinfo>
然后得到像这样的输出配置文件
[server.ini]
[server1]
server_IP = x.x.x.x
server_name = host1
[server2]
server_IP = x.x.x.x
server_name = host2
我有几个问题:
是否有任何开源配置生成程序? (可能是关键字),我想知道在设计中是否可以添加/修改任何内容。
Python是否有良好的XML解析器模块?
使用XML文件保存原始设置是个好主意吗?我一直在考虑使用Excel,因为它更易于维护,但程序解析起来更难。不确定人们如何处理这个问题。
希望社区能给我一些建议。非常感谢!
编辑: 在有几十个输出ini文件的情况下。我关心两件事。
有许多ip / hostname和相关信息,可能需要由人工管理,因此XML格式会有点不方便。什么是最方便的结构来管理这些信息? (Excel将是批量修改和查找信息的便捷工具)
如果需要在ini文件中添加一些额外的行,我需要一种有效的方法,只需修改模板文件并在源文件中添加额外的信息(可能是Excel文件或其他),然后整个可以快速生成一串ini文件。
答案 0 :(得分:3)
我不知道是否有任何开源配置生成器。
Python有several个xml解析器模块,最新的(也许是大多数pythonic)模块是ElementTree。您可以在developer's site找到其他文档。
如果可能,我建议在配置文件中避免使用xml。一个充满名称/值对的简单平面文件对于人类来说更容易使用。如果你需要一个或两个结构,ini风格的文件应该做得很好,python为它们带来built-in parser。
答案 1 :(得分:3)
我建议使用Michael Foord的优秀ConfigObj库。它可以读/写配置文件,即使是嵌套的部分。
答案 2 :(得分:1)
对任何配置文件使用xml都是非常棒的。任何解释语言的最佳选择是使用代码文件并简单地执行或导入它。泡椒也很好,但不是人类可读的。
答案 3 :(得分:1)
我使用了minidom模块。这可能对你有用。
答案 4 :(得分:1)
您需要一些模板引擎,请查看string.Template