Python 使用模板引擎生成代码(文本)
我在配置文件夹中有一堆YAML文件,在模板文件夹中有一堆模板。我的用例是基于yaml配置和模板生成文本文件。我想看看是否可以使用python诱人的引擎来解决这个问题 我看到模板引擎是在web开发环境中使用的。我的用例非常相似(但不相同)。我想生成一些文本。它不需要显示在网页上。相反,它应该只生成一个文本文件 范例 投入: 配置文件夹:config/yaml1、config/yaml2、config/yaml3。。 模板:模板/模板1、模板/模板2、模板3 输出Python 使用模板引擎生成代码(文本),python,template-engine,cheetah,Python,Template Engine,Cheetah,我在配置文件夹中有一堆YAML文件,在模板文件夹中有一堆模板。我的用例是基于yaml配置和模板生成文本文件。我想看看是否可以使用python诱人的引擎来解决这个问题 我看到模板引擎是在web开发环境中使用的。我的用例非常相似(但不相同)。我想生成一些文本。它不需要显示在网页上。相反,它应该只生成一个文本文件 范例 投入: 配置文件夹:config/yaml1、config/yaml2、config/yaml3。。 模板:模板/模板1、模板/模板2、模板3 输出 scripts/script1,
scripts/script1, script2, script3
脚本数=模板数
有两种类型的模板
一个简单/直接的替代示例
YAML1:
Titles:4
SubTitles:10
Template1:
Number of Titles {Titles} where as Number of Subtitles is {SubTitles}
另一个模板是嵌套模板。基本上,模板需要根据YAML示例循环:
YAML2:
Book: "The Choice of using Choice"
Author: "Unknown1"
Book: "Chasing Choices"
Author:"Known2"
Template2
Here are all the Books with Author Info
The author of the {Book} is {Author}
预期输出是一个具有
标题数4,其中副标题数为10
《使用选择的选择》一书的作者不为人知
追逐选择的作者是Known 2
有人能告诉我正确的方向吗?你可以用正则表达式和搜索/替换来实现这一点。您可以将函数而不是字符串传递给
re.sub
函数。当然,它依赖于拥有有效的YAML:
YAML1:
Titles: 4
# ^ need space here
SubTitles: 10
Template1:
Number of Titles {Titles} where as Number of Subtitles is {SubTitles}
# Need indentation here
以下是输出:
Number of Titles 4 where as Number of Subtitles is 10
标题数4,其中副标题数为10
当然,有很多方法可以让这变得更复杂,比如使用合适的模板引擎。我特别想找一个更简单的解决方案,比如使用像cheetah这样诱人的引擎。我想知道是否有人能给我指出正确的方向direction@pmv字体为什么这是错误的方向?如果你已经知道你想要使用什么样的模板引擎(Cheetah),那么为什么不直接使用它呢?我正在考虑使用模板引擎来解决这个问题。我特别寻找一个伪代码,上面的代码类似于模板引擎的工作方式。如果需要,您可以插入一个模板系统来替换
展开。
Number of Titles 4 where as Number of Subtitles is 10