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

Python统计文本文件指定字符串出现次数结果为0的问题求解

代码问题分析

你的代码存在4处核心错误,导致统计结果为0:

  • 调用in_file.readlines()后,文件对象的读取指针已经移动到文件末尾,后续for line in in_file循环读取不到任何内容,循环完全没有执行
  • 判断逻辑混淆了变量:d是你定义的计数变量,初始值为0,你写的if d in line是判断数字0是否存在于字符串行中,和你要匹配的目标字符/字符串完全无关
  • 就算判断逻辑写对,当前逻辑只会统计「包含目标字符串的行数」,如果一行内目标字符串出现多次只会计数1次,无法统计总出现次数
  • 打开的文件没有主动关闭,存在资源泄漏风险
修复后的代码示例

假设你要统计的目标字符串是target_str,可以直接按下方代码修改:

# 定义要统计的目标字符/字符串
target_str = "你要匹配的内容"
count = 0

# 使用with上下文管理器自动处理文件关闭
with open("file_x.txt", encoding="utf-8") as f:
    for line in f:
        # 累加当前行内目标字符串的出现次数
        count += line.count(target_str)

print(count)

如果确实只需要统计包含目标字符串的行数,可以把累加逻辑改成:

if target_str in line:
    count += 1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:24:02