我正在编写一个脚本,从日志中解析出感兴趣的行。除了打印行外,它工作得很好。我有一个参数化的正则表达式,我在一个re.search
中使用,它返回我的结果。我可以单独打印它们,也可以循环遍历列表。
我的问题是,对于每个匹配,我想打印一个CSV行,基本上每个值都在引号中,中间有一个逗号(并且行尾没有逗号)。有简单的方法吗?
我有这个:
if lineMatch:
for capturedToken in lineMatch.groups():
#print capturedToken
使用Python 2.7我如何打印为CSV行(后面跟着一个新行)?
我试过print/end,但据我所知,这只是Python 3。x -我尝试的每一个变体都有语法错误。我确信有一种很酷的python方式可以将linematch组中的值打印为逗号分隔的列表;我就是找不到它!
我想你想要这个:
if lineMatch:
print(', '.join(['"{}"'.format(t) for t in lineMatch.groups()]))
用法:
>>> m = re.search('(d{4})-(S+)', "1995-jun")
>>> print ', '.join(['"{}"'.format(i) for i in m.groups()])
"1995", "jun"
像这样使用字符串连接方法:
print ",".join(lineMatch.groups())