我将mako templatepython一起使用,并尝试通过使用python脚本中的列表来生成文本文件。下面显示了一部分代码,这会引起问题。

% for COMPNAME in tpdob.scalar_modi:
    ${COMPNAME[0]} ${COMPNAME[1]} ${COMPNAME[2]} ${COMPNAME[3]}
% endfor


我正在使用此代码,并且输出是可怕的。
在这里,我在scalar_modi中有很多列表,我正在一张一张地打印它们(每个列表有4个值)。但是问题是,打印了太多的换行符,使输出文本文件看起来很难看。
我在网上搜索,但找不到所需的解决方案。
你能帮我这个忙吗?

输出注释:

使用${COMPNAME[0]} ${COMPNAME[1]} ${COMPNAME[2]} ${COMPNAME[3]},我得到:
1 42 GBZ DLI

14 23平方米

32 55提纯


使用${COMPNAME[0]} ${COMPNAME[1]} ${COMPNAME[2]} ${COMPNAME[3]} \时,给出:
11 42 gzb dli14 23 tpty sre32 55 puri ald

我想要这样:
11 42 gzb dli
14 23平方米
32 55提纯

当使用if-else条件时,我得到的甚至超过2个newlines。谁能帮我这个忙。我也无法在其文档中找到解决方案:(

最佳答案

我有同样的问题,看起来像Windows的Mako模板中的错误。提供模板作为字符串而不是文件引用(如下所示)解决了该问题。

with open('code.template') as f:
    templateStr = f.read()
template = mako.template.Template(templateStr)

10-06 09:05