如果特定字符串不在文本文件中,则返回 False

Posted

技术标签:

【中文标题】如果特定字符串不在文本文件中,则返回 False【英文标题】:Return False if specific string is not in a text file 【发布时间】:2021-12-31 10:20:50 【问题描述】:

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

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 对,只要跟踪一下就找到了,但是可以退出循环。 【参考方案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 后面,没用。

【讨论】:

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

以上是关于如果特定字符串不在文本文件中,则返回 False的主要内容,如果未能解决你的问题,请参考以下文章

Python:对比两段文本和两个文件不同的地方

ES6字符串和正则表达式改动

使用 sed 从文本文件中删除特定的行号?

PHP eval() 函数

Erlang:如果列表中存在字符,则在插入文本时检查字符

如果列具有特定值,则返回 true