【问题标题】:Return False if specific string is not in a text file如果特定字符串不在文本文件中,则返回 False
【发布时间】:2025-12-08 22:35:01
【问题描述】:

我有这个函数可以在文本文件中查找特定的字符串:

def check_for_string(string, file):
   with open(file) as target_file:
      for index, line in enumerate(target_file):
         if string in line:
            return True
            break

当它找到特定的字符串并返回 True 时它会停止。 怎么办,找到字符串就返回True,没有找到就返回False?

【问题讨论】:

  • 在代码中添加一个变量,以跟踪是否找到字符串,在找到时将其设置为 true,但继续循环。循环结束后,返回标志变量。
  • 当然在循环之前将标志初始化为False。
  • @AnandSowmithiran 如果您已经找到了字符串,那么继续下去是没有意义的。
  • @JuanR 对,只要跟踪一下就找到了,但是可以退出循环。

标签: python python-3.x string file


【解决方案1】:

只需返回False

def check_for_string(string, file):
   with open(file) as target_file:
      for index, line in enumerate(target_file):
         if string in line:
            return True
    return False

注意:break 不需要放在return 后面,没用。

【讨论】:

  • 谢谢,这正是我想要的。
  • 太棒了!如果有帮助,请将答案标记为已接受。
  • 是的,将答案标记为已接受很重要,以便贡献者获得努力的回报
  • 是的,我接受了。
最近更新 更多