-3
found = False
for i, line in enumerate(file(name, "r")):
        for key in found_dic:
                if key in line.strip():
4

1 回答 1

0
for i, line in enumerate(file(name, "r")):
    found = True
    for key in found_dic:
        if key in line.strip():
            found_dic[key].append("LINE:"+str(i)+":" + line.strip())
            found = False

我相信这个代码块应该是

found = False
for i, line in enumerate(file(name, "r")):                
    for key in found_dic:
        if key in line.strip():
            found_dic[key].append("LINE: %s: %s" % (i,line.strip()))
            found = True

你有你的found值倒置,这意味着 found 只会在没有找到的项目时设置为 true,反之亦然。

此外,您在每次迭代中将找到的值设置为某个默认值,这意味着只有最后一个值才是真正重要的。这不太正确,应该在循环之外设置默认值。

于 2013-04-03T08:46:55.403 回答