我正在使用jinja 2输出一个yaml文件,但是似乎无法摆脱for循环结束时的尾随换行符。例如下面的代码:
- request:
path: {{ path }}
headers:
origin: 'somedomain.com'
user-agent: 'agent'
referer: 'some.domain.com'
authority: 'somedomain.com'
querystring:
{% for key, value in querystring.items() -%}
{{ key }}: '{{ value }}'
{% endfor %}
response:
content:
file: {{ content }}
给我输出结果:
- request:
path: /some/path
headers:
origin: 'somedomain.com'
user-agent: 'agent'
referer: 'somedomain.com'
authority: 'somedomain.com'
querystring:
postcode: 'xxxxxx'
houseNo: '55'
response:
content:
file: address.json
在 houseNo. 后面有一个多余的空白行,我该如何去掉这行?
-
而不是在行尾可以保留缩进并且不会破坏下一行的空格。 - alecxe-
,可以删除添加的行之前的换行符。在for循环的最后一行,在第一个百分号后面放一个-
,可以删除添加的行之后的换行符。将它们结合起来,你就得到了0个换行符。如果只有一个,你只会得到一个换行符来分隔一行,但不会在每行之间多出一个换行符。在我的情况下,我想要在循环前有一个换行符,但不想在每个元素后面都有一个换行符,所以我把-
放在了endfor
前面。希望这能帮到你。 - dddJewelsbbb