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创建关联数组(字典)的方法
May 04 Python
Python中pygame的mouse鼠标事件用法实例
Nov 11 Python
Python中的__slots__示例详解
Jul 06 Python
Python编写登陆接口的方法
Jul 10 Python
python中利用await关键字如何等待Future对象完成详解
Sep 07 Python
使用Python做垃圾分类的原理及实例代码附源码
Jul 02 Python
手机使用python操作图片文件(pydroid3)过程详解
Sep 25 Python
使用Pytorch来拟合函数方式
Jan 14 Python
详解基于python的图像Gabor变换及特征提取
Oct 26 Python
用python进行视频剪辑
Nov 02 Python
pycharm配置安装autopep8自动规范代码的实现
Mar 02 Python
Python可视化学习之seaborn绘制矩阵图详解
Feb 24 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
一步一步学习PHP(3) php 函数
2010/02/15 PHP
PHP json_encode中文乱码问题的解决办法
2013/09/09 PHP
简单实用的.net DataTable导出Execl
2013/10/28 PHP
PHP中加密解密函数与DES加密解密实例
2014/10/17 PHP
Apache连接PHP后无法启动问题解决思路
2015/06/18 PHP
PHP时间处理类操作示例
2018/09/05 PHP
Laravel核心解读之异常处理的实践过程
2019/02/24 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
JavaScript写的一个自定义弹出式对话框代码
2010/01/17 Javascript
javascript function调用时的参数检测常用办法
2010/02/26 Javascript
js function定义函数的几种不错方法
2014/02/27 Javascript
一个JavaScript处理textarea中的字符成每一行实例
2014/09/22 Javascript
JavaScript实现列表分页功能特效
2015/05/15 Javascript
jquery trigger函数执行两次的解决方法
2016/02/29 Javascript
JavaScript常见的五种数组去重的方式
2016/12/15 Javascript
javascript中json对象json数组json字符串互转及取值方法
2017/04/19 Javascript
基于jquery实现五星好评
2017/11/18 jQuery
解决vue项目报错webpackJsonp is not defined问题
2018/03/14 Javascript
JS实现处理时间,年月日,星期的公共方法示例
2019/05/31 Javascript
ant-design-vue 实现表格内部字段验证功能
2019/12/16 Javascript
echarts实现晶体球面投影的实例教程
2020/10/10 Javascript
python基础教程之类class定义使用方法
2014/02/20 Python
详解Python的Django框架中的模版相关知识
2015/07/15 Python
使用Python脚本将文字转换为图片的实例分享
2015/08/29 Python
浅谈python中copy和deepcopy中的区别
2017/10/23 Python
Pycharm更换python解释器的方法
2018/10/29 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
2020/02/21 Python
Python selenium模块实现定位过程解析
2020/07/09 Python
python3判断IP地址的方法
2021/03/04 Python
HTML5的文档结构和新增标签完全解析
2017/04/21 HTML / CSS
九年级语文教学反思
2014/02/04 职场文书
情人节活动策划方案
2014/02/27 职场文书
五一劳动节活动记录
2014/03/23 职场文书
环保标语大全
2014/06/12 职场文书
关于运动会广播稿50字
2014/10/18 职场文书
python实现图片批量压缩
2021/04/24 Python