Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法使用“获取新行”\";使用jinja2从模板到实际输出_Python_Python 3.x_Jinja2 - Fatal编程技术网

Python 无法使用“获取新行”\";使用jinja2从模板到实际输出

Python 无法使用“获取新行”\";使用jinja2从模板到实际输出,python,python-3.x,jinja2,Python,Python 3.x,Jinja2,我正在尝试使用模板生成带有jinja2模块的xml文件。不知何故,我无法使用\n从模板到实际输出获得新行 这是xml-template.xml: <module> <group name="abc"> <subinst entity="x" id="0" /> {% for n in range(count) %}<subinst entity="y" id="{{n}}" />\n {% endfor

我正在尝试使用
模板
生成带有
jinja2
模块的xml文件。不知何故,我无法使用
\n
从模板到实际输出获得新行

这是xml-template.xml:

<module>
    <group name="abc">
        <subinst entity="x" id="0" />
        {% for n in range(count) %}<subinst entity="y"    id="{{n}}" />\n {% endfor %}
    </group>
</module>
当我运行脚本时,我得到的是
\n
原样,而不是输出中的新行,如下所示

这是我的预期输出:

<module>
    <group name="abc">
        <subinst entity="x" id="0" />
        <subinst entity="y" id="0" />
        <subinst entity="y" id="1" />
        <subinst entity="y" id="2" />
    </group>
</module>

我试过使用

(这对于
HTML
来说是正确的),试过使用
keep\u trailing\u newline=true
,但似乎没有任何帮助

有人能帮我解决这个问题吗?

+1这是一个写得很好的问题,有示例代码和预期输出

我使用此模板实现了这一点(确保此文件中的制表符和空格一致):

例如:

In [84]: print(output)
<module>
    <group name="abc">
        <subinst entity="x" id="0" />
        <subinst entity="y" id="0" />
        <subinst entity="y" id="1" />
        <subinst entity="y" id="2" />
    </group>
</module>
[84]中的
:打印(输出)
<module>
    <group name="abc">
        <subinst entity="x" id="0" />
        {% for n in range(count) %}
        <subinst entity="y" id="{{n}}" />
        {% endfor %}
    </group>
</module>
env = Environment(loader=file_loader,lstrip_blocks=True,trim_blocks=True)
In [84]: print(output)
<module>
    <group name="abc">
        <subinst entity="x" id="0" />
        <subinst entity="y" id="0" />
        <subinst entity="y" id="1" />
        <subinst entity="y" id="2" />
    </group>
</module>