递归删除文件和文件夹

碰到压缩包解压出来的文件夹里面有大几十万个文件,Windows删除太慢,测试python删除

import os


def search_files(dir_path):
    """
    递归删除文件
    :param dir_path:文件夹路径
    :return:跳出递归
    """

    try:
        file_list = os.listdir(dir_path)
    except:
        return

    if not file_list:
        try:
            os.rmdir(dir_path)
            print(dir_path)
        except Exception as e:
            print("删除文件夹:", e)

    # 遍历当前文件夹
    for file_name in file_list:
        # 拼接文件目录
        complete_file_name = os.path.join(dir_path, file_name)
        # 判断是文件夹还是文件
        if os.path.isdir(complete_file_name):
            # 递归搜索文件夹
            search_files(complete_file_name)
            # 跳出递归后,判断文件夹是否为空
            try:
                if not os.listdir(complete_file_name):
                    os.rmdir(complete_file_name)
                    print(dir_path)
            except:
                pass
        if os.path.isfile(complete_file_name):
            try:
                os.remove(complete_file_name)
            except Exception as e:
                print(e)
            # print(complete_file_name)
    return


if __name__ == '__main__':
    search_files(r'G:\1111')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值