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

Python统计文件指定字符出现次数并写入新目录txt文件

需求说明
  • 统计characters.txt文件前200个字符范围内,小写字母a的出现次数
  • 最终统计结果需要保存到新建文件夹下的txt文件中

示例:如果characters.txt文件内容为abcdefghijklmnopqerstuvwxzy,统计字母g的出现次数为1,就需要把结果1存入对应文件夹下的file.txt文件。

原参考代码的问题

给出的参考代码存在多处逻辑和语法错误,无法直接运行得到正确结果,具体问题如下:

  • 缺少os模块导入语句,无法调用创建文件夹的相关方法
  • 读取文件时没有做长度限制,会读取整个文件的全部内容,不符合“只统计前200个字符”的要求
  • 没有明确指定读取的源文件为characters.txt、统计目标字符为a
  • 创建文件夹后,结果文件的保存路径没有指向新建文件夹,会直接生成在当前运行目录
  • write()方法只接受字符串类型参数,直接传入整数类型的统计值会触发类型报错
  • 文件关闭语句缺少调用括号,没有实际执行关闭操作,且源文件读取完成后也没有做关闭处理,容易引发资源泄漏
可直接运行的正确实现
import os

# 读取源文件的前200个字符
with open("characters.txt", "r", encoding="utf-8") as source_file:
    target_content = source_file.read(200)

# 统计字符a的出现次数
a_count = 0
for char in target_content:
    if char == "a":
        a_count += 1

# 新建存储结果的文件夹,判断文件夹是否存在避免重复创建报错
if not os.path.exists("result_dir"):
    os.mkdir("result_dir")

# 将统计结果写入新文件夹下的txt文件
with open("result_dir/result.txt", "w", encoding="utf-8") as res_file:
    res_file.write(str(a_count))

代码说明:

  • 用with上下文管理器处理文件读写,会自动完成文件关闭操作,不需要手动调用close()
  • read(200)会直接读取文件开头的200个字符,不需要额外做切片处理
  • 写入结果前将整数类型的统计值转为字符串,避免类型错误
  • 创建文件夹前先做存在性判断,避免文件夹已存在时触发运行错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 22:42:23