如何在 Jinja2 模板中为变量指定一列?
How can I specify a column for a variable in a Jinja2 template?
我有一个看起来像这样的 jinja2 模板。
{% for file in result['files'] %}
descriptiontxt {{ inventory_hostname }}{{ file['path'] | truncate(50)}} {{ {{ '%Y%m%dT%H%M%S' | strftime(file['lastwritetime']) }} MoreDescriptiveText
在此示例中,输出可能如下所示。
descriptiontxt host1C:\dir\directory\directory\directory\txt.txt 20210106T081330 MoreDescriptiveText
descriptiontxt host2C:\dir\directory\txt.txt 20210106T081330 MoreDescriptiveText
descriptiontxt host3C:\dir\directory\truncated\example3456677 20210106T081330 MoreDescriptiveText
我希望输出看起来像这样。
descriptiontxt host1C:\dir\directory\directory\directory\txt.txt 20210106T081330 MoreDescriptiveText
descriptiontxt host2C:\dir\directory\txt.txt 20210106T081330 MoreDescriptiveText
descriptiontxt host3C:\dir\directory\truncated\example3456677 20210106T081330 MoreDescriptiveText
如何确保文件每一行的日期字符串都从第 72 列(或其他某个位置)开始?
无论前一个条目是 10 个字符还是 50 个字符,假设截断前一个变量可确保路径变量永远不会溢出到文件的那部分。
谢谢。
也许可以使用 format
过滤器,像这样:
{% for file in result['files'] %}
descriptiontxt {{ inventory_hostname }}{{ "%-50s"|format(file['path'] | truncate(50))}} {{ {{ '%Y%m%dT%H%M%S' | strftime(file['lastwritetime']) }} MoreDescriptiveText
{% endfor %}
这确保 file['path']
占用 50 个字符,即使实际字符串更短也是如此。
我有一个看起来像这样的 jinja2 模板。
{% for file in result['files'] %}
descriptiontxt {{ inventory_hostname }}{{ file['path'] | truncate(50)}} {{ {{ '%Y%m%dT%H%M%S' | strftime(file['lastwritetime']) }} MoreDescriptiveText
在此示例中,输出可能如下所示。
descriptiontxt host1C:\dir\directory\directory\directory\txt.txt 20210106T081330 MoreDescriptiveText
descriptiontxt host2C:\dir\directory\txt.txt 20210106T081330 MoreDescriptiveText
descriptiontxt host3C:\dir\directory\truncated\example3456677 20210106T081330 MoreDescriptiveText
我希望输出看起来像这样。
descriptiontxt host1C:\dir\directory\directory\directory\txt.txt 20210106T081330 MoreDescriptiveText
descriptiontxt host2C:\dir\directory\txt.txt 20210106T081330 MoreDescriptiveText
descriptiontxt host3C:\dir\directory\truncated\example3456677 20210106T081330 MoreDescriptiveText
如何确保文件每一行的日期字符串都从第 72 列(或其他某个位置)开始? 无论前一个条目是 10 个字符还是 50 个字符,假设截断前一个变量可确保路径变量永远不会溢出到文件的那部分。
谢谢。
也许可以使用 format
过滤器,像这样:
{% for file in result['files'] %}
descriptiontxt {{ inventory_hostname }}{{ "%-50s"|format(file['path'] | truncate(50))}} {{ {{ '%Y%m%dT%H%M%S' | strftime(file['lastwritetime']) }} MoreDescriptiveText
{% endfor %}
这确保 file['path']
占用 50 个字符,即使实际字符串更短也是如此。