搜索文件功能不起作用

时间:2013-03-07 15:46:49

标签: python python-2.7

我正在为reddit bot制作一个程序。该程序的一部分要求我在文件中搜索查询以防止双重发布,这是我的代码:

def search (filetosearch,query):
    with open(filetosearch, 'r') as inF:
        for line in inF:
            if len(str(line)) == 0 | query not in line:
                return False
                break
            else:
                return True
                break

每当我运行它时,它都会返回None!为什么要跳过return语句? 我要搜索的文件为空。

1 个答案:

答案 0 :(得分:0)

如果文件为空,那么你永远不会进入for循环,因为循环迭代的没有

只需在该边缘案例的函数末尾添加return False

当一行与查询不匹配时,你也想要返回,只需循环到下一行:

def search (filetosearch, query):
    with open(filetosearch, 'r') as inF:
        for line in inF:
            if query in line:
                return True

    return False

请注意,您的break语句是多余的;当执行return语句时,该函数立即退出,永远不会到达带有break语句的下一行。