用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中zip()函数用法实例教程
Jul 31 Python
尝试使用Python多线程抓取代理服务器IP地址的示例
Nov 09 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
Nov 22 Python
python 随机打乱 图片和对应的标签方法
Dec 14 Python
Python Web框架之Django框架cookie和session用法分析
Aug 16 Python
对python while循环和双重循环的实例详解
Aug 23 Python
python 队列基本定义与使用方法【初始化、赋值、判断等】
Oct 24 Python
python多线程高级锁condition简单用法示例
Nov 07 Python
python中可以声明变量类型吗
Jun 18 Python
keras的三种模型实现与区别说明
Jul 03 Python
Python logging自定义字段输出及打印颜色
Nov 30 Python
Python中快速掌握Data Frame的常用操作
Mar 31 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 之 写时复制介绍(Copy On Write)
2014/05/13 PHP
PHP中Session可能会引起并发问题
2015/06/26 PHP
学习php设计模式 php实现适配器模式
2015/12/07 PHP
php单例模式的简单实现方法
2016/06/10 PHP
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
2011/02/24 Javascript
js读取配置文件自写
2014/02/11 Javascript
js实现滑动触屏事件监听的方法
2015/05/05 Javascript
JS常见问题之为什么点击弹出的i总是最后一个
2016/01/05 Javascript
Javascript实现找不同色块的游戏
2017/07/17 Javascript
webpack实现热更新(实施同步刷新)
2017/07/28 Javascript
angular2 ng2 @input和@output理解及示例
2017/10/10 Javascript
vue-router3.0版本中 router.push 不能刷新页面的问题
2018/05/10 Javascript
微信小程序6位或多位验证码密码输入框功能的实现代码
2018/05/29 Javascript
vue-cli项目无法用本机IP访问的解决方法
2018/09/20 Javascript
Vue 配合eiement动态路由,权限验证的方法
2018/09/26 Javascript
Nodejs模块的调用操作实例分析
2018/12/25 NodeJs
vue使用el-upload上传文件及Feign服务间传递文件的方法
2019/03/15 Javascript
JavaScript从原型到原型链深入理解
2019/06/03 Javascript
解决vue.js中settimeout遇到的问题(时间参数短效果不稳定)
2020/07/21 Javascript
js实现验证码功能
2020/07/24 Javascript
[01:46]TI4西雅图DOTA2前线报道 中国选手抱团调时差
2014/07/08 DOTA
[01:56]2014DOTA2西雅图邀请赛 MVP外卡赛老队长精辟点评
2014/07/09 DOTA
Python 过滤字符串的技巧,map与itertools.imap
2008/09/06 Python
python strip() 函数和 split() 函数的详解及实例
2017/02/03 Python
pytorch随机采样操作SubsetRandomSampler()
2020/07/07 Python
加拿大建筑和装修专家:Reno-Depot
2017/12/21 全球购物
消防器材管理制度
2014/01/28 职场文书
厨师长岗位职责
2014/03/02 职场文书
毕业生求职自荐书范文
2014/03/27 职场文书
副董事长岗位职责
2014/04/02 职场文书
汽车维修专业自荐书
2014/05/26 职场文书
小城镇建设汇报材料
2014/08/16 职场文书
九不准学习心得体会
2016/01/23 职场文书
《小乌鸦爱妈妈》教学反思
2016/02/19 职场文书
Python 中的 copy()和deepcopy()
2021/11/07 Python
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏