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

Python搜索书籍记录数组,匹配目标关键词后打印对应完整列表

Python书籍搜索功能实现代码

你可以直接使用以下修改后的完整代码实现需求:

# 接收用户输入的搜索关键词,去除首尾空白字符
search_key = input('Enter a book title: ').strip()

def read_book():
    booksdata = []
    # 使用with语法自动管理文件句柄,无需手动关闭文件
    with open('books2.txt', 'r', encoding='utf-8') as f:
        for record in f:
            cleanrecord = record.strip()
            # 跳过文件中的空行
            if not cleanrecord:
                continue
            books = cleanrecord.split(',')
            booksdata.append(books)
    return booksdata

# 接收读取到的全部书籍数据
all_books = read_book()

# 筛选匹配的书籍,默认仅匹配书名,若需全字段匹配可将判断条件改为 search_key in str(book)
matched_books = [book for book in all_books if search_key in book[1]]

# 打印所有匹配结果
for book in matched_books:
    print(book)

代码修改说明

  • 新增了返回值接收逻辑:将read_book()的返回结果存入all_books变量,避免读取到的数据直接丢失
  • 优化了文件读取逻辑:使用with open语法自动管理文件关闭,避免资源泄漏,同时增加了空行跳过逻辑,兼容存在空行的文件场景
  • 新增了关键词匹配逻辑:通过列表推导式遍历所有书籍数据,筛选出书名包含关键词的记录,若需要匹配分类、作者等其他字段,修改判断条件即可
  • 对用户输入做了首尾空白去除处理,避免输入误带空格导致匹配失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 15:54:05