除了将其打印到文件外,我还能做什么?我不知道以任何其他方式结束for循环,我不想在整个地方都有不必要的文件。举个例子:
data = open(filename, "r")
found = open("Found.txt", "w")
for line in data:
if re.match("(.*)(background-color:red)(.*)", line):
print >> found, line,
我不想在最后保存found
...但我不知道如何获取匹配的数据并对其采取任何措施。我已经在桌子上打了几个小时的脸,搜遍了整个地方,我不知道。看起来很基本......哈哈
请帮忙......
答案 0 :(得分:3)
使用break
退出循环。为什么需要输出文件? (顺便说一下:那个不是正确的写入文件的方式)。只需打印该行,如果符合您的意图:
for line in data:
if re.match("(.*)(background-color:red)(.*)", line):
print line
break
或者将行保存在变量中,以便稍后使用。这实际上取决于你的程序应该做什么,以及匹配的结果是否需要保留以供将来参考,或者它是否足以将它们保存在内存中以便进一步处理:
result = None
for line in data:
if re.match("(.*)(background-color:red)(.*)", line):
result = line
break
if result:
# do something with `result`
pass