用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实现DNS正向查询、反向查询的例子
Apr 25 Python
python实现simhash算法实例
Apr 25 Python
python检测远程服务器tcp端口的方法
Mar 14 Python
对于Python的Django框架部署的一些建议
Apr 09 Python
基于Python和Scikit-Learn的机器学习探索
Oct 16 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
Jul 11 Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
Jul 11 Python
Django框架视图函数设计示例
Jul 29 Python
Python SELENIUM上传文件或图片实现过程
Oct 28 Python
python使用pandas抽样训练数据中某个类别实例
Feb 28 Python
基于Python脚本实现邮件报警功能
May 20 Python
详解Python常用的魔法方法
Jun 03 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
dedecms系统常用术语汇总
2007/04/03 PHP
php中AES加密解密的例子小结
2014/02/18 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
2015/12/07 PHP
php制作简单模版引擎
2016/04/07 PHP
Jquery实现Div上下移动示例
2014/04/23 Javascript
Css3制作变形与动画效果
2015/07/24 Javascript
javascript中递归函数用法注意点
2015/07/30 Javascript
RequireJS入门一之实现第一个例子
2015/09/30 Javascript
自己封装的一个原生JS拖动方法(推荐)
2016/11/22 Javascript
利用Vue2.x开发实现JSON树的方法
2018/01/04 Javascript
Vue使用枚举类型实现HTML下拉框步骤详解
2018/02/05 Javascript
JS实现图片转换成base64的各种应用场景实例分析
2018/06/22 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
详解easyui 切换主题皮肤
2019/04/04 Javascript
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
[03:59]5分钟带你了解什么是DOTA2(第二期)
2017/02/07 DOTA
Python引用类型和值类型的区别与使用解析
2017/10/17 Python
Python爬虫之UserAgent的使用实例
2019/02/21 Python
pygame库实现移动底座弹球小游戏
2020/04/14 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
python定义类的简单用法
2020/07/24 Python
Pycharm自动添加文件头注释和函数注释参数的方法
2020/10/23 Python
HTML5 文件域+FileReader 分段读取文件并上传到服务器
2017/10/23 HTML / CSS
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
携程英文网站:Trip.com
2017/02/07 全球购物
Perfumetrader荷兰:香水、化妆品和护肤品在线商店
2017/09/15 全球购物
Topman美国官网:英国著名的国际平价时尚男装品牌
2017/12/22 全球购物
BSTN意大利:德国街头和运动文化高品质商店
2020/12/22 全球购物
本科毕业生的求职信范文
2013/11/20 职场文书
国企干部对照检查材料
2014/08/22 职场文书
机关党员公开承诺书
2014/08/30 职场文书
领导干部作风整顿剖析材料
2014/10/11 职场文书
2014年干部作风建设总结
2014/10/23 职场文书
2014年发展党员工作总结
2014/11/12 职场文书
Redisson实现Redis分布式锁的几种方式
2021/08/07 Redis
Netty分布式客户端接入流程初始化源码分析
2022/03/25 Java/Android