首页 > 解决方案 > 在文本文件中查找名称

问题描述

我是 python 新手(我昨天开始),想制作一个程序,您可以在其中输入一个名称,然后在文本文件中搜索该名称并显示该名称是否存在。如果我运行程序并输入现有名称,它仍然显示“否”,我不知道为什么。谁能帮我吗?

代码

结果

标签: pythonloopsfindtext-files

解决方案


这是一个执行此逻辑的小代码片段:

def find_name_in_file(name, filename):
    with open(filename, "r") as fd:
        for line in fd.readlines():
            if name in line:
                return True  # or print "YES"

    return False  # or print "NO"

你需要记住两件事:

  1. 此代码不考虑大小写敏感性,如果名称等于“Mark”并且在文件中名称为“mark”,您将找不到它(这可以通过使用“lower”函数轻松解决)。
  2. 如果文件包含单词“SHMark”或“MarkSH”,该函数也会返回 true。如果您不能依赖具有您正在寻找的确切名称的文件,您可以添加额外的逻辑来检查单词是否被空格包围。我会把它留给你,以了解如何做到这一点。

推荐阅读