1

私のpythonスクリプトで文字列と数字を連結するには、次のようにstring.format()を使用します。同じためにjinja2を使用するにはどうすればよいですか。

for item in mylist:
        mystr = '{}{}{}'.format(item['name'] + ' ;' + 
                ' ' + str(item['age'])+ ' ;'  if item.get('age') else ';',
                ' ' + item['email']+ ' ;' if item.get('email') else ';'                        
                )

mystr のサンプル出力は次のとおりです。

 1. abc ; 25 ; abc@gmail.com
 2. cdf ;;;

Python スクリプトで jinja2 を使用して文字列をフォーマットしたいのですが、どうすればよいですか。前もって感謝します。

4

2 に答える 2

3

次のようなことができます。

{{ item['name'] }};{{ item['age'] }};{{ item['email'] }};

これは、Jinja2 では、何かが未定義の場合、Jinja2 は「何も」挿入しないためです。

私は自由を利用して、あなたのスペースの分布を無視しました。スペースが必要な場合は、Jinja2 のif-expressionsを使用できます。

{{ "%s ;" % item['email'] if item['email'] is defined else ";" }}
于 2013-07-24T11:40:57.840 に答える