如果没有结果,我不想打印

时间:2013-04-03 08:35:19

标签: python

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

1 个答案:

答案 0 :(得分: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值已被反转,这意味着找不到找到的项目时只能设置为true,反之亦然。

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