Python删除空文件和空文件夹的方法


Posted in Python onJuly 14, 2015

本文实例讲述了Python删除空文件和空文件夹的方法。分享给大家供大家参考。具体实现方法如下:

#-*- coding:cp936 -*-
"""
os.walk()
函数声明:walk(top,topdown=True,onerror=None)
1>参数top表示需要遍历的目录树的路径
2>参数topdown的默认值是"True",表示首先返回目录树下的文件,然后在遍历目录树的子目录.Topdown的值为"False"时,
则表示先遍历目录树的子目录,返回子目录下的文件,最后返回根目录下的文件
3>参数onerror的默认值是"None",表示忽略文件遍历时产生的错误.如果不为空,则提供一个自定义函数提示错误信息后继续
遍历或抛出异常中止遍历
4>该函数返回一个元组,该元组有3个元素,这3个元素分别表示每次遍历的路径名,目录列表和文件列表
在2.5版中新增加了一个叫partition的函数,它可以做什么呢?举一个小例子:
>>> 'http://www.donews.net/limodou'.partition('://')
('http', '://', 'www.donews.net/limodou')
>>> 'file:/a.html'.partition('://')
('file:/a.html', ", ")
从第一个例子可以看出,它用来根据指定的分隔符将字符串进行分割,如果字符串包含指定的分隔符,则返回一个3元的tuple,
第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。第二个例子说明,如果找不到指定的分隔符,
则返回仍然是一个3元的tuple,第一个为整个字符串,第二和第三个为空串
"""
import os, sys
def remove_empty_dir(path):
 print path
 while(path[-1] == "\\"):
 path = path[:-1]
 print path
 a = {}
 for root, dirs, files in os.walk(path, False):
 if len(files) == 0:
  a[root] = 0
 else:
  for file in files: #对文件列表进行扫描
   try:
   fn = os.path.join(root, file) #将路径名和文件名拼接起来
   size = os.path.getsize(fn) #获取文件名大小
   if size != 0:
   b = root
   while(b != path):
    a[b] = 1
    b = b.rpartition("\\")[0] #保存上一级目录名
   a[path] = 1
   else: 
   try:
    os.remove(fn) #删除文件名为空的文件
    a[root] = 0
   except (WindowsError):
    b = root
    while(b != path):
    a[b] = 1
    b = b.rpartition("\\")[0]
    a[path] = 1
   except WindowsError:
   b = root
   while(b != path):
    a[b] = 1
    b = b.rpartition("\\")[0]
   a[path] = 1
   if a[root]:
   break;
 empty_dirs = []
 for i, j in a.iteritems():
 if j == 0:
  print i
  empty_dirs.insert(0, i)
 del a
 empty_dirs.sort(reverse=True) 
 for i in empty_dirs:
 try:
  os.rmdir(i)  #删除目录
  print "%s 删掉了!!" % (i)
 except (WindowsError):
  print "%s 删不掉!!" % (i)
if __name__ == "__main__":
 remove_empty_dir('f:\\b')

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

Python 相关文章推荐
python实现批量转换文件编码(批转换编码示例)
Jan 23 Python
python中is与双等于号“==”的区别示例详解
Nov 21 Python
Python切片工具pillow用法示例
Mar 30 Python
Python+OpenCV目标跟踪实现基本的运动检测
Jul 10 Python
对Pandas MultiIndex(多重索引)详解
Nov 16 Python
pygame实现烟雨蒙蒙下彩虹雨
Nov 11 Python
Django 实现Admin自动填充当前用户的示例代码
Nov 18 Python
pytorch中图像的数据格式实例
Feb 11 Python
Python的in,is和id函数代码实例
Apr 18 Python
python如何进行矩阵运算
Jun 05 Python
如何利用python读取micaps文件详解
Oct 18 Python
Python基础详解之描述符
Apr 28 Python
Python实现批量将word转html并将html内容发布至网站的方法
Jul 14 #Python
Python删除windows垃圾文件的方法
Jul 14 #Python
Python简单计算文件夹大小的方法
Jul 14 #Python
Python判断直线和矩形是否相交的方法
Jul 14 #Python
Python下Fabric的简单部署方法
Jul 14 #Python
python简单获取数组元素个数的方法
Jul 13 #Python
python连接字符串的方法小结
Jul 13 #Python
You might like
2020最新CPU的性能排名
2020/04/02 数码科技
PHP环境搭建最新方法
2006/09/05 PHP
destoon调用自定义模板及样式的公告栏
2014/06/21 PHP
php使用curl通过代理获取数据的实现方法
2016/05/16 PHP
PHP巧妙利用位运算实现网站权限管理的方法
2017/03/12 PHP
laravel 解决强制跳转 https的问题
2019/10/22 PHP
用js得到网页中所有的div的id
2020/10/19 Javascript
jQuery中使用了document和window哪些属性和方法小结
2011/09/13 Javascript
如何动态的导入js文件具体该怎么实现
2014/01/14 Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
2014/01/28 Javascript
jQuery实现鼠标经过图片预览大图效果
2014/04/10 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
2015/10/23 Javascript
BootStrap的alert提示框的关闭后再显示怎么解决
2016/05/17 Javascript
Angularjs实现mvvm式的选项卡示例代码
2016/09/08 Javascript
Bootstrap Img 图片样式(推荐)
2016/12/13 Javascript
Angular企业级开发——MVC之控制器详解
2017/02/20 Javascript
javascript 面向对象function详解及实例代码
2017/02/28 Javascript
JavaScript中立即执行函数实例详解
2017/11/04 Javascript
js实现下拉框二级联动
2018/12/04 Javascript
详解angular2 控制视图的封装模式
2018/12/27 Javascript
移动端自适应flexible.js的使用方法(不用三大框架,仅写一个单html页面使用)推荐
2019/04/02 Javascript
Vue实现base64编码图片间的切换功能
2019/12/04 Javascript
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
2020/03/10 Javascript
由Python运算π的值深入Python中科学计算的实现
2015/04/17 Python
Python中elasticsearch插入和更新数据的实现方法
2018/04/01 Python
关于django 数据库迁移(migrate)应该知道的一些事
2018/05/27 Python
Django框架使用富文本编辑器Uedit的方法分析
2018/07/31 Python
PyCharm使用之配置SSH Interpreter的方法步骤
2019/12/26 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
2020/12/28 Python
24个canvas基础知识小结
2014/12/17 HTML / CSS
接口可以包含哪些成员
2012/09/30 面试题
留学生如何写好自荐信
2013/12/27 职场文书
文明学生标兵事迹
2014/01/21 职场文书
课外访万家心得体会
2014/09/03 职场文书
教师自查自纠材料
2014/10/14 职场文书
使用python求解迷宫问题的三种实现方法
2022/03/17 Python