python批量读取文件中的文件名并删除

技术分享 2025-12-08

python批量读取txt文件中的文件名(一行一个),并删除当前目录中的这些文件。

import os
import sys

def delete_files_from_txt(txt_file_path="file_delete.txt"):
    # 第一步:校验TXT文件是否存在(优先当前目录)
    txt_abs_path = os.path.abspath(txt_file_path)
    if not os.path.exists(txt_abs_path):
        print(f"错误:未找到TXT文件 → {txt_abs_path}")
        return

    # 第二步:读取TXT中的文件名(每行一个,保留-开头的完整名称)
    try:
        with open(txt_abs_path, 'r', encoding='utf-8') as f:
            # 读取所有行,去除空行和首尾空白(不修改文件名本身的-开头)
            file_list = [line.strip() for line in f if line.strip()]
    except Exception as e:
        print(f"错误:读取TXT文件失败 → {e}")
        return

    if not file_list:
        print("提示:TXT文件中未找到任何有效文件名")
        return

    # 第三步:遍历删除(重点处理-开头的文件,避免被误判为参数)
    deleted_count = 0
    failed_count = 0
    print(f"开始处理,共找到 {len(file_list)} 个文件待删除:\n")

    for index, filename in enumerate(file_list, 1):
        # 拼接当前目录下的绝对路径(确保-开头的文件名被正确识别为路径)
        file_abs_path = os.path.abspath(os.path.join(os.getcwd(), filename))

        # 检查文件是否存在
        if not os.path.exists(file_abs_path):
            print(f"[{index}] 跳过 → 文件不存在:{file_abs_path}")
            failed_count += 1
            continue

        # 仅删除文件,跳过目录(防止误删文件夹)
        if os.path.isdir(file_abs_path):
            print(f"[{index}] 跳过 → 是目录,不删除:{file_abs_path}")
            failed_count += 1
            continue

        # 核心:处理-开头的文件(使用完整绝对路径,避免系统误判)
        try:
            os.remove(file_abs_path)
            print(f"[{index}] 成功 → 删除文件:{file_abs_path}")
            deleted_count += 1
        except PermissionError:
            print(f"[{index}] 失败 → 权限不足:{file_abs_path}")
            failed_count += 1
        except Exception as e:
            print(f"[{index}] 失败 → 原因:{str(e)} | 文件:{file_abs_path}")
            failed_count += 1

    # 第四步:输出汇总结果
    print("\n" + "-"*50)
    print(f"处理完成 → 成功删除:{deleted_count} 个 | 删除失败:{failed_count} 个")

if __name__ == "__main__":
    # 直接运行脚本即可(默认读取当前目录下的file_delete.txt)
    delete_files_from_txt()

请使用python3运行该脚本。

评论 (1)

发表评论

最多500字符

验证码

天才小熊猫

2025-12-19 09:55:18

测试可用。

关于站长

三天饿九顿

三天饿九顿
19 年站点

今天过得怎么样,梦想是不是更远了?

1051
文章
5
分类
2
链接

搜索

最新评论

JosephWen 2026-01-06 04:08:21

有教育意义的 旅行杂志! 越来越棒! <a href=https://iqvel.com/zh-Ha...

查看: debian系统的美国VPS推荐系统源
Devops 2025-12-21 12:57:38

docker下载镜像太慢了,有办法解决吗?

查看: docker版本zabb...
天才小熊猫 2025-12-19 09:55:18

测试可用。

查看: python批量读取文件中的文件名并删除
Kingbase 2025-11-23 18:54:36

是否能提供一个下载地址?

查看: 人大金仓数据库建用户建库