递归删除某一文件夹下某一后缀名的所有文件,包括嵌套文件(例如删除.cfg文件)

这篇博客介绍了一个Python递归函数,用于删除指定目录及其子目录下所有特定后缀的文件。该函数可以方便地处理多层嵌套的文件,但请注意,删除操作不可逆且不会进入回收站。示例中展示了如何删除CSDN目录下的所有.txt文件。
摘要由CSDN通过智能技术生成

递归删除某一文件夹下某一后缀名的所有文件,包括嵌套文件(例如删除.cfg文件)

有时候我的电脑中会莫名生成很多.cfg文件,一个一个的删除太繁琐了,所有就写了这个函数。当然这个函数的功能不止删除.cfg后缀的文件,其他后缀名的也可以删除,即使这个文件在文件夹中有多层嵌套。

函数功能:

  • 彻底删除某一文件夹下的特定后缀名的所有文件;
  • 特定后缀的文件放在多级目录中,只需指定最上层目录即可;
  • 文件嵌套层数过多,运行时间会变长;
  • 仅删除特定后缀的文件,不会删除其他后缀文件;

使用时需谨慎!!!删除后的文件不能在回收站找回!!!

函数源码如下:

def del_suffix(path, del_file_suffix):
    """
    删除指定文件夹下的所有指定后缀的文件,包括嵌套文件中的指定后缀的文件
    :param path: 指定文件夹
    :param del_file_suffix: 欲删除文件后缀名
    :return: None
    """
    
    import os
    
    for cur_file in os.scandir(path):
        f_name = path + '\\' + str(cur_file.name)  # 补全文件路径
        if cur_file.is_file() and cur_file.name[-1 * len(del_file_suffix):] == del_file_suffix:  # 删除文件后缀为.del_suffix的文件
            os.remove(f_name)
        if cur_file.is_dir():  # 递归调用del_suffix函数
            del_suffix(f_name, del_file_suffix)
# path为指定目录,del_file_suffix为指定想要删除的文件后缀名
del_suffix(path, del_file_suffix)
# 例如:删除CSDN目录下的所有txt文件
del_suffix(r'C:\Users\NH4NO3nice\Desktop\CSDN', 'txt')

注意: 函数使用时,后缀名不需要加.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值