vars收集器和模板运行器。

c2c.template的Python项目详细描述


c2c.模板

支持的模板jinja,mako,template。

收集一些var并将其发送到模板引擎的工具。

支持的模板:JinjaMako

使用c2c-template--help获取命令行帮助。

VARS文件

vars收集器从yaml文件获取vars,如下所示:

extends:inherit.yamlvars:string_var:a stringint_var:42interpreted_var:__import__('datetime').date.today()combined_var:'Today:{interpreted_var:%Y-%m-%d}'facter_json:/usr/bin/facter --jsonfacter_yaml:/usr/bin/facter --yamlpi:console.log(Math.PI.toPrecision(3))obj:v1:1v2:'2'v3:[1,2,3]interpreted:python:-interpreted_varbash:-facter_json-facter_yamljson:-facter_jsonyaml:-facter_yamlnode:vars:["pi"]cmd:["node","-e"]update_path:-obj

inherit.yaml是另一个具有相同语法的文件,它将提供 初始变量。

vars部分是我们定义vars值、yaml文件的地方 支持键入,42将是整数。

用于解释某些变量的interpreted配置, pythonbashenvironjsonyaml是预定义的 解释器,node是自定义解释器。

update_path是一个“.”分隔的路径列表,这些路径将被更新(对于dict) 或附加(用于列表),而不是覆盖。子路径将被隐式添加。

我们可以重用预定义的变量并格式化它们(请参见combined_var), 见:str.format()

用法示例

在模板中解释变量

c2c-template --vars vars.yaml --engine jinja --files template.jinja

结果将存储在名为template的文件中。

获取变量

把变量放在外面是很有用的。

`c2c-template --vars vars.yaml --get-vars INT_VAR=int_var string_var`

将bash变量INT_VAR设置为42,将STRING_VAR设置为“字符串”。

获取配置文件

c2c-template --vars vars.yaml --get-config config.yaml string-var int-var combined-var

将创建名为config.yamlthis的文件:

string-var:a stringint-var:42combined-var:Today:2014-12-12

基于模板构建一组文件

创建以下vars文件(vars.yaml):

vars:var1:commoniter:-name:onevar2:first-name:twovar2:second

以及以下模板(template.jinja):

var1: {{ var1 }}
var2: {{ var2 }}

并运行以下命令:

c2c-template --vars vars.yaml --files-builder template.jinja {name}.txt iter

这将创建两个文件:

one.txt文件,具有:

var1: common
var2: first

two.txt文件,具有:

var1: common
var2: second

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JavaFX:无法在GridPane内水平居中放置行单元格   java GAE flex Jersey Web服务返回404   java使用SLF4J,是否可以对错误/警告采取行动?   如何使用Java解析每个不同键和值的JSON对象?   java如何在azure服务总线中始终侦听队列并截获每条消息   java需要退出循环并修复打印顺序错误(基本计算器)   java在Kafka的哪个分区中有多少数据?   在Java中访问无顶级类的非顶级类的编译器构造   java如何从maven项目生成jar   java如何使用amazon资源名称(ARN)作为标识符来查找amazon资源?   java为什么我的程序忽略else语句   java如何控制JTable中的字体样式、颜色和大小?   java对命令使用多个类,命令不起作用?   树集中的java字母排序不起作用   java将变量作为正则表达式传递   java TestNG XML中的一组值   java什么时候应该重写Equals函数?   Java中通过SSL使用web服务的web服务   java LibGDX以不同的速度移动对象   java中“and”的正则表达式