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

Python for循环遍历文件统计关键词时计数变量未自增问题

问题根因

你的代码计数失效是几个基础写法错误导致的:

  • 变量累加没赋值:Python里单独写num+1只会算出加1后的结果,不会自动修改原变量的值,你没把结果存回num,它就永远是初始的0,index也是同理。
  • 遍历逻辑不对:直接循环文件对象是逐行读取,不是逐单词读取,就算计数修好,一行里出现多次"Shooting"也只会记1次,统计结果不准。
  • 打开文件后没有手动关闭,存在文件资源泄漏的风险。
修复后代码
target_word = "Shooting"
count = 0

# with语句会自动帮你关闭文件,不用手动写f.close()
with open('Information.txt', 'r', encoding='utf-8') as f:
    # 读取全部文本,按空白字符拆分成单词列表
    word_list = f.read().split()
    for word in word_list:
        if target_word in word:
            count += 1
            print(f"I Found {target_word}")

print(f"'{target_word}' 总共出现了 {count} 次")
可选优化
  • 如果要精确匹配独立单词,排除Shootings这类包含目标字符串的词,可以把判断条件改成if word.strip(".,!?;:'\"()[]") == target_word,会先剔除单词前后附带的标点再做匹配。
  • 如果要忽略大小写统计(同时匹配shooting/SHOOTING等写法),把判断条件改成if target_word.lower() in word.lower()即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 00:12:53