2

我有一个包含日志的列表,我正在尝试在特定块之间添加一个空行。因此,当我到达特定块的末尾时,我可以看到一些分离,而不是看起来像一个连续的列表。

EX:
log a:
kdsaldklsadkaslk
kasldkasldkasldkasldk

log a1:
lkpadkfaldkfdsl
klsdkfldskfsdl

到目前为止,我已经尝试了所有我能在网上找到的方法,但我没有成功。要么我被迫添加除空行之外的任何内容(例如 ----- 序列),要么添加的空间将添加到每一行(这不是我想要的)。

如果我在列表中添加空行,例如

log_list.append(" \n")

当我使用打印列表时

print "\n".join(log_list)

我添加的所有空行都没有打印出来。

但是如果我在附加命令中添加任何字符,那么它将被打印出来。

当我执行 join 命令时,是否有任何选项会自动删除列表中的空行?否则我不明白为什么我不能在列表中有一个空行。

还有另一种打印列表的方法吗?我总是看到使用 join 命令打印列表(列表中的所有对象都是字符串)。

谢谢!

4

2 回答 2

2

对我来说,这很有效(表明没有附加 a\n然后加入 a的猴子业务\n):

>>> log_list = ['a']
>>> log_list.append('\n')
>>> log_list.append('b')
>>> log_list.append('c')
>>> print '\n'.join(log_list)
a


b
c

你做了什么不同的事情?

于 2013-01-15T00:42:11.593 回答
1

":"如果列表已经创建,例如,您可以在以这样结尾的每一行之前插入一个空行

print "\n".join("\n"+s if s.endswith(":") else s for s in log_list)

不过,使用循环可能更清楚

for s in log_list:
    if s.endswith(":"):
        print
    print s

您可以更改条件以满足您的要求,例如s.startswith("log ")

于 2013-01-15T00:44:52.717 回答