You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ansible Jinja2模板中实现类似Python ljust的左对齐填充输出

方案1:使用Jinja2格式化字符串实现

你可以直接通过Python风格的格式化占位符实现左对齐,无需依赖ljust方法,模板代码如下:

{%- set max_key_len = data['_dictionary'].keys() | map('length') | max %}
{% for key, value in data['_dictionary'].items() %}
    {{ "%-*s  %s" | format(max_key_len, key, value) }}
{% endfor %}

代码说明:

  • 第一行先提取字典所有键的长度,取最大值存为max_key_len变量,作为统一的对齐宽度
  • 格式化语法%-*s中,-代表左对齐,*代表宽度从后续参数动态获取,正好适配我们提前计算的最大键长
  • 两个键值之间保留2个空格,和你Python代码的输出效果完全一致

方案2:直接调用ljust方法

Jinja2的字符串对象原生支持Python的常用字符串方法,你完全可以直接使用ljust,写法和Python几乎一致:

{%- set max_key_len = data['_dictionary'].keys() | map('length') | max %}
{% for key, value in data['_dictionary'].items() %}
    {{ key.ljust(max_key_len) }}  {{ value }}
{% endfor %}

两种方案的输出完全符合你要求的左对齐格式。

内容的提问来源于stack exchange,提问作者dorancemc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 00:09:00