用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的Django中将文件上传至七牛云存储的代码分享
Jun 03 Python
Python部署web开发程序的几种方法
May 05 Python
Python中的is和==比较两个对象的两种方法
Sep 06 Python
Python3生成手写体数字方法
Jan 30 Python
Python识别快递条形码及Tesseract-OCR使用详解
Jul 15 Python
python 的 openpyxl模块 读取 Excel文件的方法
Sep 09 Python
根据tensor的名字获取变量的值方式
Jan 04 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
Mar 25 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
May 12 Python
Python 必须了解的5种高级特征
Sep 10 Python
python实现简易名片管理系统
Apr 11 Python
python 如何在list中找Topk的数值和索引
May 20 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 url 加密解密函数代码
2011/08/26 PHP
php数组函数序列之array_values() 获取数组元素值的函数与方法
2011/10/30 PHP
PHP实现的带超时功能get_headers函数
2015/02/10 PHP
php实现的用户查询类实例
2015/06/18 PHP
php生成二维码图片方法汇总
2016/12/17 PHP
PHP多进程通信-消息队列使用
2019/03/08 PHP
使用SyntaxHighlighter实现HTML高亮显示代码的方法
2010/02/04 Javascript
高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
2010/06/19 Javascript
JavaScript的parseInt 取整使用
2011/05/09 Javascript
{}与function(){}选用空对象{}来存放keyValue
2012/05/23 Javascript
jquery ajax例子返回值详解
2012/09/11 Javascript
js图片向右一张张滚动效果实例代码
2013/11/23 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
2016/02/17 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
2016/12/08 Javascript
原生js实现返回顶部缓冲效果
2017/01/18 Javascript
深入探究AngularJs之$scope对象(作用域)
2017/07/20 Javascript
nodejs读取并去重excel文件
2018/04/22 NodeJs
为什么要使用Vuex的介绍
2019/01/19 Javascript
ES6知识点整理之Proxy的应用实例详解
2019/04/16 Javascript
Flutter实现仿微信底部菜单栏功能
2019/09/18 Javascript
tracking.js实现前端人脸识别功能
2020/04/16 Javascript
解决vue项目运行npm run serve报错的问题
2020/10/26 Javascript
Python中的默认参数详解
2015/06/24 Python
python2.7读取文件夹下所有文件名称及内容的方法
2018/02/24 Python
Python3.4 splinter(模拟填写表单)使用方法
2018/10/13 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
基于PyTorch的permute和reshape/view的区别介绍
2020/06/18 Python
python如何导入依赖包
2020/07/13 Python
CSS3绘制六边形的简单实现
2016/08/25 HTML / CSS
html5的pushstate以及监听浏览器返回事件的实现
2020/08/11 HTML / CSS
联想加拿大官方网站:Lenovo Canada
2018/04/05 全球购物
通信工程专业毕业生推荐信
2013/12/25 职场文书
信息管理专业自荐书
2014/06/05 职场文书
公安局副政委班子个人对照检查材料
2014/10/04 职场文书
拾金不昧表扬稿大全
2015/05/05 职场文书
详解Vue的options
2021/05/15 Vue.js