如何将mako模板中的多个换行符转换为一个换行符?

2024-09-26 04:47:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在将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 gzb dli公司

14 23 tpty sre公司

32 55普瑞阿尔德


使用${COMPNAME[0]} ${COMPNAME[1]} ${COMPNAME[2]} ${COMPNAME[3]} \时,给出: 11 42 gzb dli14 23 tpty sre32 55普瑞阿尔德



我想要的是:
11 42 gzb dli
14 23吨级sre
32 55普瑞阿尔德


当使用if-else条件时,我得到的结果甚至超过了2newlines。有人能帮我吗。我也无法在其文档中找到解决方案:(


Tags: 代码脚本列表formako公司templatescalar
1条回答
网友
1楼 · 发布于 2024-09-26 04:47:02

我也遇到了同样的问题,看起来像是Mako Windows模板中的一个bug。将模板作为字符串而不是文件引用(如下所示)解决了这个问题。在

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

相关问题 更多 >