python删除指定路径文件夹_python删除指定路径下的空文件夹和空文件

问题:想清理电脑里的某个文件夹下的空文件夹和空文件,由于大多数情况下文件夹涉及到嵌套的问题,但网上的很多代码都只能删除最底层的空文件夹,为此本人对代码进行了一些改进,实现能删除嵌套的空文件夹。

适用场景:python3,windows,linux系统.windows下不建议直接输入某个磁盘名,linux下删除可能需要赋予代码权限,最好是用于清除自己熟知的目录,以免删除系统必要的文件。

目的很简单:检测给定路径下的所有文件夹和文件,并删除所有空文件夹和空文件

代码运行前后对比图:

d0660db09c3eb8130005586822b5e73b.png

7fdde4e819840e32fba36624fbd8b204.png

具体代码如下:

# -*- coding: utf-8 -*-

import os # 引入文件操作库

def deldir(path):

"""

清理空文件夹和空文件

param path: 文件路径,检查此文件路径下的子文件

"""

print ('*'*30)

try:

files = os.listdir(path) # 获取路径下的子文件(夹)列表

print (files)

for file in files:

print ('遍历路径:'+os.fspath(path +'/'+ file))

if os.path.isdir(os.fspath(path+'/'+file)): # 如果是文件夹

print (file+'是文件夹')

if not os.listdir(os.fspath(path+'/'+file)): # 如果子文件为空

print (file+'是空文件夹,即将执行删除操作')

os.rmdir(os.fspath(path+'/'+file)) # 删除这个空文件夹

else:

print (file+'不是空文件夹')

deldir(os.fspath(path+'/'+file)) # 遍历子文件

if not os.listdir(os.fspath(path+'/'+file)): # 如果子文件为空

print (file+'是空文件夹,即将执行删除操作')

os.rmdir(os.fspath(path+'/'+file)) # 删除这个空文件夹

elif os.path.isfile(os.fspath(path+'/'+file)): # 如果是文件

print(file+'是文件')

if os.path.getsize(os.fspath(path+'/'+file)) == 0: # 文件大小为0

print (file+'是空文件,即将执行删除操作!')

os.remove(os.fspath(path+'/'+file)) # 删除这个文件

return

except FileNotFoundError:

print ("文件夹路径错误")

if __name__ == "__main__":

path = input("Please input the files path:") # 输入路径

deldir(path)

声明!以上内容纯属个人原创!转载请标注出处,谢谢!

如果本文有帮助到你,希望能动动小手点个赞。 如有错误请多指正!如有雷同!纯属巧合!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值