You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从TXT文件读取姓名并实现有效搜索?代码问题求助

问题解决:无法搜索TXT文件中的姓名

你的代码核心问题是错误地将读取到的姓名列表额外嵌套了一层,导致搜索逻辑根本没在单个姓名里匹配。

看这行代码:

numberList = [data]

data已经是splitlines()返回的列表(每个元素对应TXT里的一行姓名),你把它再放进新列表,就变成了[[姓名1, 姓名2, ...]]这种嵌套结构。后续循环里numberList[i]取的是整个子列表,自然不可能和输入的单个姓名匹配。

修正后的代码

def liner_search():
    with open("example.txt", "r") as myfile:
        # 直接用data作为待搜索的姓名列表,无需嵌套
        data = myfile.read().splitlines()
        print("读取到的姓名列表:", data)
        searchRequest = input("请输入要搜索的姓名:")
        found = False
        # 直接遍历data里的每个姓名
        for name in data:
            if name == searchRequest:
                print("找到匹配姓名!")
                found = True
                break
            print("继续查找...")
        if not found:
            print("未找到该姓名")

liner_search()

说明

  1. 去掉了numberList = [data]这行错误的嵌套赋值,直接使用data作为待搜索列表
  2. 把while循环换成更简洁的for循环,直接遍历每个姓名,逻辑更清晰
  3. 增加了未找到时的提示,体验更友好

现在运行代码,输入TXT文件里存在的姓名就能正确匹配了。

内容的提问来源于stack exchange,提问作者Reece Neacy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 10:10:23