用Python脚本来删除指定容量以上的文件的教程


Posted in Python onMay 04, 2015

文件多了乱放, 突然有一天发现硬盘空间不够了, 于是写了个python脚本搜索所有大于10MB的文件,看看这些大文件有没有重复的副本,如果有,全部列出,以便手工删除

使用方式 加一个指定目录的参数

比如python redundant_remover.py /tmp

主要用到了stat模块,os、sys系统模块

import os, sys
#引入统计模块
from stat import *
BIG_FILE_THRESHOLD = 10000000L
dict1 = {}  # filesize 做 key, filename 做 value
dict2 = {}   # filename 做 key, filesize 做 value
def treewalk(path):
  try:
    for i in os.listdir(path):
      mode = os.stat(path+"/"+i).st_mode
      if S_ISDIR(mode) <> True:
        filename = path+"/"+i
        filesize = os.stat(filename).st_size
        if filesize > BIG_FILE_THRESHOLD:
          if filesize in dict1:           
            dict2[filename] = filesize
            dict2[dict1[filesize]]=filesize
          else:
            dict1[filesize] = filename         
      else:
        treewalk(path+"/"+i)
  except WindowsError:
    pass
def printdict(finaldict):
  for i_size in finaldict.values():
    print i_size
    for j_name in finaldict.keys():
      if finaldict[j_name] == i_size:
        print j_name
    print "\n"
if __name__=="__main__":
  treewalk(sys.argv[1])
  printdict(dict2)
Python 相关文章推荐
Python中的并发编程实例
Jul 07 Python
深入理解Python中各种方法的运作原理
Jun 15 Python
python对象及面向对象技术详解
Jul 19 Python
SQLite3中文编码 Python的实现
Jan 11 Python
windows系统下Python环境搭建教程
Mar 28 Python
Python iter()函数用法实例分析
Mar 17 Python
Python OpenCV处理图像之滤镜和图像运算
Jul 10 Python
python实时检测键盘输入函数的示例
Jul 17 Python
Python math库 ln(x)运算的实现及原理
Jul 17 Python
Python 实现PS滤镜中的径向模糊特效
Dec 03 Python
pandas取dataframe特定行列的实现方法
May 24 Python
Python基于百度API识别并提取图片中文字
Jun 27 Python
编写Python脚本来获取Google搜索结果的示例
May 04 #Python
编写Python脚本来实现最简单的FTP下载的教程
May 04 #Python
Python下线程之间的共享和释放示例
May 04 #Python
简单介绍Python中利用生成器实现的并发编程
May 04 #Python
简单分析Python中用fork()函数生成的子进程
May 04 #Python
python实现从字典中删除元素的方法
May 04 #Python
Python中利用原始套接字进行网络编程的示例
May 04 #Python
You might like
PHP XML数据解析代码
2010/05/26 PHP
php抽象类用法实例分析
2015/07/07 PHP
php析构函数的简单使用说明
2015/08/24 PHP
Thinkphp微信公众号支付接口
2016/08/04 PHP
PHP实现电商订单自动确认收货redis队列
2017/05/17 PHP
javascript 面向对象全新理练之原型继承
2009/12/03 Javascript
js输出列表实现代码
2010/09/12 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
JavaScript获取XML数据附示例截图
2014/03/05 Javascript
jQuery实现Tab选项卡切换效果简单演示
2015/11/23 Javascript
Jquery中巧用Ajax的beforeSend方法
2016/01/20 Javascript
javascript实现查找数组中最大值方法汇总
2016/02/13 Javascript
js中最容易被忽视的事件问题大总结
2016/05/15 Javascript
JS输出空格的简单实现方法
2016/09/08 Javascript
详解JS对象封装的常用方式
2016/12/30 Javascript
javascript判断回文数详解及实现代码
2017/02/03 Javascript
NodeJS实现同步的方法
2019/03/02 NodeJs
vue使用video.js进行视频播放功能
2019/07/18 Javascript
微信小程序 腾讯地图显示偏差问题解决
2019/07/27 Javascript
Vue解析带html标签的字符串为dom的实例
2019/11/13 Javascript
three.js着色器材质的内置变量示例详解
2020/08/16 Javascript
解决使用pycharm提交代码时冲突之后文件丢失找回的方法
2018/08/05 Python
Python使用random.shuffle()打乱列表顺序的方法
2018/11/08 Python
python3.6生成器yield用法实例分析
2019/08/23 Python
nginx搭建基于python的web环境的实现步骤
2020/01/03 Python
keras获得model中某一层的某一个Tensor的输出维度教程
2020/01/24 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
2020/03/07 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
求职自荐信
2013/12/14 职场文书
工业自动化毕业生自荐信范文
2014/01/04 职场文书
机械专业求职信
2014/05/25 职场文书
党员四风问题个人对照检查材料
2014/10/26 职场文书
乡镇党的群众路线教育实践活动总结报告
2014/10/30 职场文书
2014年手术室工作总结
2014/11/26 职场文书
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
2021/05/26 Python
Navicat for MySQL的使用教程详解
2021/05/27 MySQL