python递归删除文件or文件夹函数

话不多说,代码说话,有问题请反馈哈

import os

'''
author:LancerWu
email:wuxs231@163.com
'''

def delete_file(file_dir, del_file, type='file', bianli=0):
    '''
    删除文件
    :param file_dir: 搜索路径
    :param del_file: 要删除的文件
    :param type: 文件为'file', 目录为'dir'
    :param bianli: 是否遍历,默认0不遍历,1遍历循环删除
    :return:
    '''
    try:
        a = 0
        for item in os.listdir(file_dir):
            filename = str(file_dir) + "/" + str(item)
            if type == 'dir':
                if os.path.isdir(filename):
                    if str(item) == str(del_file):
                        os.removedirs(filename)
                        a += 1
                else:
                    if bianli == 1:
                        # 遍历寻找文件夹并删除
                        delete_file(filename, del_file, type='dir', bianli=1)

            elif type == 'file':
                if os.path.isfile(filename):
                    if str(item) == str(del_file):
                        os.remove(filename)
                        a += 1

                elif os.path.isdir(filename):
                    if bianli == 1:
                        # 遍历删除
                        delete_file(filename, del_file, type='file', bianli=1)

        if a == 0:
            print('目标没找到')
            return '0'
        else:
            print('删除%s个目标' % a)
            return '1'

    except Exception as e:
        print('delete file error: %s' % e)
        return None

if __name__ == "__main__":
	target_dir = ''  # 要搜寻的路径
	del_filename = ''  # 要删除的文件夹或者文件名
	# 遍历删除文件
	delete_file(filename, del_file, type='file', bianli=1)
	# 遍历删除文件夹
	# delete_file(filename, del_file, type='dir', bianli=1)
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值