如果没有结果我不想打印

2024-06-17 08:53:07 发布

您现在位置:Python中文网/ 问答频道 /正文

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

Tags: keynameinfalseforiflinefile
1条回答
网友
1楼 · 发布于 2024-06-17 08:53:07
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,反之亦然。你知道吗

另外,在每次迭代中,您都将found值设置为默认值,这意味着只有最后一个值才真正重要。这不太正确,默认值应该在循环之外设置。你知道吗

相关问题 更多 >