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

如何通过循环在文件中搜索特定单词(支持多次匹配)

文件中指定单词的遍历搜索实现方法

需求说明

给定格式为单词:数字的文本文件(示例内容如下),需要遍历文件内容,找出所有包含指定单词的条目并输出。

示例文件内容:

jogging:1 swimming:1 running:1 breathing:1
riding:1  walking:1  jogging:2  seeing:1
seeking:1 looking:1 staring:1 practicing:1

搜索jogging时,预期输出:

jogging:1
jogging:2

Python实现方案

方案一:使用for循环逐行处理

这是最常用的方式,借助with语句自动管理文件资源:

# 定义要搜索的目标单词
target = "jogging"

# 替换为你的实际文件路径
file_path = "your_file.txt"

with open(file_path, "r", encoding="utf-8") as file:
    # 逐行遍历文件内容
    for line in file:
        # 分割每行的条目(自动处理多个空格的情况)
        entries = line.strip().split()
        # 遍历每个条目,匹配目标单词
        for entry in entries:
            # 用startswith确保匹配完整单词,避免误判类似"joggings:3"的条目
            if entry.startswith(f"{target}:"):
                print(entry)

方案二:使用while循环逐行读取

如果更倾向于while循环的写法,可以手动控制行读取:

target = "jogging"
file_path = "your_file.txt"

file = open(file_path, "r", encoding="utf-8")
current_line = file.readline()

# 循环读取直到文件末尾
while current_line:
    entries = current_line.strip().split()
    for entry in entries:
        if entry.startswith(f"{target}:"):
            print(entry)
    # 读取下一行
    current_line = file.readline()

# 手动关闭文件
file.close()

代码说明

  • strip()用于移除每行首尾的空白字符(换行符、空格等)
  • split()默认按任意数量的空格分割字符串,处理行内多个空格的情况
  • startswith(f"{target}:")确保匹配的是完整的目标单词,避免出现部分匹配的错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 23:55:20