用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中如何使用朴素贝叶斯算法
Apr 06 Python
Python中标准模块importlib详解
Apr 16 Python
python八大排序算法速度实例对比
Dec 06 Python
Python Grid使用和布局详解
Jun 30 Python
kaggle+mnist实现手写字体识别
Jul 26 Python
python 字典中取值的两种方法小结
Aug 02 Python
python实现可逆简单的加密算法
Mar 22 Python
Python面向对象总结及类与正则表达式详解
Apr 18 Python
Python使用docx模块实现刷题功能代码
Feb 13 Python
如何在keras中添加自己的优化器(如adam等)
Jun 19 Python
Python中Permission denied的解决方案
Apr 02 Python
Python可变与不可变数据和深拷贝与浅拷贝
Apr 06 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
非洲第一个咖啡超凡杯大赛承办国—卢旺达的咖啡怎么样
2021/03/03 咖啡文化
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
2008/03/28 PHP
PHP 开发环境配置(Zend Studio)
2010/04/28 PHP
基于php伪静态的实现详细介绍
2013/04/28 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
2016/04/25 PHP
PHP中如何判断exec函数执行成功?
2016/08/04 PHP
PHP实现的简单路由和类自动加载功能
2018/03/13 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
2020/01/04 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
用js实现预览待上传的本地图片
2007/03/15 Javascript
javascript 函数调用规则
2009/08/26 Javascript
js DataSet数据源处理代码
2010/03/29 Javascript
基于jQuery的表格操作插件
2010/04/22 Javascript
『JavaScript』限制Input只能输入数字实现思路及代码
2013/04/22 Javascript
不用锚点也可以平滑滚动到页面的指定位置实现代码
2013/05/08 Javascript
jquery.validate.js 多个相同name的处理方式
2017/07/10 jQuery
利用纯JS实现像素逐渐显示的方法示例
2017/08/14 Javascript
ES6 javascript中Class类继承用法实例详解
2017/10/30 Javascript
JS/jQuery实现获取时间的方法及常用类完整示例
2019/03/07 jQuery
使用node搭建自动发图文微博机器人的方法
2019/03/22 Javascript
使用post方法实现json往返传输数据的方法
2019/03/30 Javascript
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
python实现目录树生成示例
2014/03/28 Python
Python实现批量下载文件
2015/05/17 Python
解决Python字典写入文件出行首行有空格的问题
2017/09/27 Python
pycharm安装和首次使用教程
2018/08/27 Python
Python的log日志功能及设置方法
2019/07/11 Python
tensorboard显示空白的解决
2020/02/15 Python
Python脚本导出为exe程序的方法
2020/03/25 Python
哈利波特商店:Harry Potter Shop
2018/11/30 全球购物
求职自荐书范文
2013/12/04 职场文书
大学生涯自我鉴定
2014/01/16 职场文书
就业协议书的作用
2014/04/11 职场文书
廉洁家庭事迹材料
2014/05/15 职场文书
数控机床专业自荐信
2014/05/19 职场文书
2015年惩防体系建设工作总结
2015/05/22 职场文书