Python简单实现自动删除目录下空文件夹的方法


Posted in Python onAugust 29, 2017

本文实例讲述了Python简单实现自动删除目录下空文件夹的方法。分享给大家供大家参考,具体如下:

总是发现电脑用上一段时间,各种软件生成各种目录,可是这些目录都是空文件夹,感觉没用,或许有些许强迫症吧,每次看到都会去删除掉他们,有时候真的太多了,让人删除起来就蛋疼,最近学习Python,特别希望搞些有用的小脚本,然后就开始使用python搞起了这个小脚本的编写。

因为完全是个初学者,所以写起脚本来,各种百度,google,可到最后我写的脚本也不能达到我的目的,只能删除一级目录下的空文件夹,而子目录中的只能删除最底层的空文件夹,实在凌乱,就去各种求助,最后在网友f!she@d的帮助下,才算成功了,其实代码都是他写的,在他看了我的代码修改无果后,就自己写了个脚本,现在将他的脚本代码贴上,以备后用。

所要使用的函数:

a) os.path.isdir() #判断是否为目录
b) os.path.join(dirname, filename) #链接目录与文件名
c) os.rmdir() #删除文件夹
d) os.getcwd() #获取当前路径

下面是脚本代码:

#coding=utf-8
import os
def delete_gap_dir(dir):
    if os.path.isdir(dir):
        for d in os.listdir(dir):
            delete_gap_dir(os.path.join(dir, d))
    if not os.listdir(dir):
      os.rmdir(dir)
      print('移除空目录: ' + dir)
delete_gap_dir(os.getcwd())
print(u'删除完毕')
input(u'请按任意键退出')

友情提示:其实这样的脚本不敢乱用,因为有些软件自动生成文件夹即使是空文件夹,也不能删除,删除会造成软件运行异常,可能会带来不必要的麻烦。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python常用列表数据结构小结
Aug 06 Python
python迭代器与生成器详解
Mar 10 Python
python实现单向链表详解
Feb 08 Python
Django+JS 实现点击头像即可更改头像的方法示例
Dec 26 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
Feb 28 Python
Python Django 添加首页尾页上一页下一页代码实例
Aug 21 Python
python numpy数组中的复制知识解析
Feb 03 Python
python中如何进行连乘计算
May 28 Python
python 爬取免费简历模板网站的示例
Sep 27 Python
python中slice参数过长的处理方法及实例
Dec 15 Python
PyCharm常用配置和常用插件(小结)
Feb 06 Python
python高温预警数据获取实例
Jul 23 Python
Python实现文件内容批量追加的方法示例
Aug 29 #Python
Python实现解析Bit Torrent种子文件内容的方法
Aug 29 #Python
Python 3.x读写csv文件中数字的方法示例
Aug 29 #Python
在python3环境下的Django中使用MySQL数据库的实例
Aug 29 #Python
Python网络爬虫与信息提取(实例讲解)
Aug 29 #Python
Python开发的HTTP库requests详解
Aug 29 #Python
Python实现按学生年龄排序的实际问题详解
Aug 29 #Python
You might like
深入PHP变量存储的详解
2013/06/13 PHP
基于Laravel实现的用户动态模块开发
2017/09/21 PHP
Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
2019/09/30 PHP
一个无限级XML绑定跨框架菜单(For IE)
2007/01/27 Javascript
一段批量给页面上的控件赋值js
2010/06/19 Javascript
js 可拖动列表实现代码
2011/12/13 Javascript
JavaScript实现x秒后自动跳转到一个页面
2013/01/03 Javascript
extjs tabpanel限制选项卡数量实现思路及代码
2013/04/02 Javascript
查找页面中所有类为test的结点的方法
2014/03/28 Javascript
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
BootStrap实现轮播图效果(收藏)
2016/12/30 Javascript
Nodejs--post的公式详解
2017/04/29 NodeJs
JS触摸与手势事件详解
2017/05/09 Javascript
详解axios在vue中的简单配置与使用
2017/05/10 Javascript
vue教程之toast弹框全局调用示例详解
2020/08/24 Javascript
JavaScript全屏和退出全屏事件总结(附代码)
2017/08/17 Javascript
layui框架中layer父子页面交互的方法分析
2017/11/15 Javascript
基于vue中css预加载使用sass的配置方式详解
2018/03/13 Javascript
详解封装基础的angular4的request请求方法
2018/06/05 Javascript
JavaScript循环遍历你会用哪些之小结篇
2018/09/28 Javascript
[01:19:23]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第二场
2018/04/06 DOTA
Python3里的super()和__class__使用介绍
2015/04/23 Python
深入解析Python设计模式编程中建造者模式的使用
2016/03/02 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
Pandas 缺失数据处理的实现
2019/11/04 Python
Pytorch .pth权重文件的使用解析
2020/02/14 Python
基于Django集成CAS实现流程详解
2020/11/28 Python
HTML5+CSS设置浮动却没有动反而在中间且错行的问题
2020/05/26 HTML / CSS
美国床垫连锁店:Mattress Firm
2021/02/13 全球购物
C#中有没有运算符重载?能否使用指针?
2014/05/05 面试题
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
2014/12/30 面试题
一年级学生期末评语
2014/04/21 职场文书
教师年度考核个人总结
2015/02/12 职场文书
客户答谢会致辞
2015/07/30 职场文书
利用javaScript处理常用事件详解
2021/04/14 Javascript
Javascript使用integrity属性进行安全验证
2021/11/07 Javascript