Python中for循环选项的结束?

时间:2014-08-02 01:20:14

标签: python for-loop

除了将其打印到文件外,我还能做什么?我不知道以任何其他方式结束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 ...但我不知道如何获取匹配的数据并对其采取任何措施。我已经在桌子上打了几个小时的脸,搜遍了整个地方,我不知道。看起来很基本......哈哈

请帮忙......

1 个答案:

答案 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