我正在使用unicode文本数据类型,然后通过Regex解析它以查找信息并将其附加到列表中。这个列表中的数据可以很多,但有一个已知的对象,我总是想在一个单独的行上开始。此时我尝试在列表中添加一个新行字符,并且它总是在正确的位置添加换行符,但似乎这个字符在打印时只被视为列表中的对象,而不是实际强制打印输出在一个单独的线上。有没有人对如何将这些数据强制转移到另一条线上有任何建议?
===============当前节目输出全部在同一行==============
['\n', u'10.41.71.19 ', u'64512', '\n', u'192.168.0.1 ']
=============在两条线上的期望输出==============
[u'10.41.71.19 ', u'64512',
u'192.168.0.1 ']
=============带有代码的SNIPIT我在我的列表中添加新行======
def jnprBgp(output):
for line in output.splitlines():
peerip = re.search('(\d+.\d+.\d+.\d+.)', line)
if peerip:
testlist.append('\n')
testlist.append(peerip.groups()[0])
peeras = re.search('\d+.\d+.\d+.\d+.\s+(\d+)', line)
if peeras:
testlist.append(peeras.groups()[0])
for line in testlist:
print testlist
答案 0 :(得分:1)
打印一个包含字符串'\n'
的列表作为其元素将不会导致打印实际的换行符。这意味着您应该自己处理列表的打印,如下所示:
def printList(l):
print '[%s]' % ', '.join([repr(elem) if elem != '\n' else '\n' for elem in l])