Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用模板引擎生成代码(文本)_Python_Template Engine_Cheetah - Fatal编程技术网

Python 使用模板引擎生成代码(文本)

Python 使用模板引擎生成代码(文本),python,template-engine,cheetah,Python,Template Engine,Cheetah,我在配置文件夹中有一堆YAML文件,在模板文件夹中有一堆模板。我的用例是基于yaml配置和模板生成文本文件。我想看看是否可以使用python诱人的引擎来解决这个问题 我看到模板引擎是在web开发环境中使用的。我的用例非常相似(但不相同)。我想生成一些文本。它不需要显示在网页上。相反,它应该只生成一个文本文件 范例 投入: 配置文件夹:config/yaml1、config/yaml2、config/yaml3。。 模板:模板/模板1、模板/模板2、模板3 输出 scripts/script1,

我在配置文件夹中有一堆YAML文件,在模板文件夹中有一堆模板。我的用例是基于yaml配置和模板生成文本文件。我想看看是否可以使用python诱人的引擎来解决这个问题

我看到模板引擎是在web开发环境中使用的。我的用例非常相似(但不相同)。我想生成一些文本。它不需要显示在网页上。相反,它应该只生成一个文本文件

范例 投入: 配置文件夹:config/yaml1、config/yaml2、config/yaml3。。 模板:模板/模板1、模板/模板2、模板3

输出

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