0

我正在使用 python genshi NewTexTemplate 来生成代码。一些代码块是用逗号分隔的,例如下面的代码模板:

{% for item in data.items %}
{ 
   // fill template here 
     print item

}, 
{% end %}

并且有 items = [1,2,3],这将产生:

{
 1
},
{
 2
},
{
 3
}, 

我想删除最后一个逗号。有没有办法检测 genshi 中 for 循环中的最后一次迭代?我检查了文档,但似乎没有。

PS:我实际上可以发送一个带有标志的数据结构来判断当前迭代是否是最后一个迭代,但我正在探索 genshi 是否有内置的东西。

4

1 回答 1

1

应该有效的快速而肮脏的修复:

{% for i in range(data.items) %}
    { 
    print data.items[i]
    {% choose i %}
        {% when len(data.items) - 1 %}}{% end %}
        {% otherwise %}},{% end %}
    {% end %}
{% end %}
于 2016-03-22T10:36:56.913 回答