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

Python脚本无法删除目录中字数少于阈值的txt文件问题咨询

脚本故障排查与修复

以下是你代码中存在的问题及修复方案:

  • 文件打开模式错误:计数函数中使用w+模式打开文件,该模式会直接清空原有文件内容,且文件指针默认指向文件末尾,无法读取到原有文本内容,应该替换为只读模式r。
  • 路径拼接缺失:os.listdir()仅返回目录下的文件名,不带父级目录路径,直接传入文件名给open()、os.remove()时,程序会从当前工作目录查找文件,找不到data目录下的目标文件,需要使用os.path.join()拼接完整路径。
  • 可选优化:打开文本文件时指定编码,避免不同系统默认编码不一致导致的读取报错。

修复后完整代码

import os
wordLimit = 1000

def articleWordCount(full_path):
    number = 0
    # 改为只读模式,指定utf-8编码
    with open(full_path, 'r', encoding='utf-8') as f:
        for line in f:
            words = line.split()
            number += len(words)
    return number

def articlesRemoval():
    directory = 'data'
    removedArticles = 0
    for filename in os.listdir(directory):
        if filename.endswith(".txt"):
            # 拼接完整路径
            full_path = os.path.join(directory, filename)
            if articleWordCount(full_path) < wordLimit:
                removedArticles += 1
                os.remove(full_path)
            else:
                print(full_path)
    print(removedArticles)

articlesRemoval()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 17:06:04