用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爬虫框架Scrapy安装使用步骤
Apr 01 Python
python实现爬虫下载美女图片
Jul 14 Python
基于Python的XSS测试工具XSStrike使用方法
Jul 29 Python
Python使用Phantomjs截屏网页的方法
May 17 Python
Django使用HttpResponse返回图片并显示的方法
May 22 Python
python自动化报告的输出用例详解
May 30 Python
对pandas的行列名更改与数据选择详解
Nov 12 Python
Pytorch 实现自定义参数层的例子
Aug 17 Python
python实现人机五子棋
Mar 25 Python
浅谈python量化 双均线策略(金叉死叉)
Jun 03 Python
浅析Python的命名空间与作用域
Nov 25 Python
python编程的核心知识点总结
Feb 08 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(2)――PHP类型
2010/02/15 PHP
PHP下对字符串的递增运算代码
2010/08/21 PHP
PHP操作XML作为数据库的类
2010/12/19 PHP
php 检查电子邮件函数(自写)
2014/01/16 PHP
微信公众平台开发关注及取消关注事件的方法
2014/12/23 PHP
PHP7+Nginx的配置与安装教程详解
2016/05/10 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
2017/02/15 PHP
phpcms配置列表页以及获得文章发布时间
2017/07/04 PHP
PHP htmlspecialchars_decode()函数用法讲解
2019/03/01 PHP
用javascript实现画板的代码
2007/09/05 Javascript
window.onload 加载完毕的问题及解决方案(上)
2009/07/09 Javascript
Mootools 1.2教程(3) 数组使用简介
2009/09/14 Javascript
在JS中最常看到切最容易迷惑的语法(转)
2010/10/29 Javascript
在JavaScript中监听IME键盘输入事件
2011/05/29 Javascript
使用jquery实现的一个图片延迟加载插件(含图片延迟加载原理)
2014/06/05 Javascript
使用javascript实现json数据以csv格式下载
2015/01/09 Javascript
jQuery选择id属性带有点符号元素的方法
2015/03/17 Javascript
jQuery拖拽插件gridster使用指南
2015/04/21 Javascript
jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】
2017/03/09 Javascript
canvas简单快速的实现知乎登录页背景效果
2017/05/08 Javascript
微信小程序 支付功能(前端)的实现
2017/05/24 Javascript
Python中的super()方法使用简介
2015/08/14 Python
Python爬虫之正则表达式基本用法实例分析
2018/08/08 Python
Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法
2019/08/26 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
2019/09/24 Python
Python 使用 environs 库定义环境变量的方法
2020/02/25 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
2020/04/30 Python
Python文件夹批处理操作代码实例
2020/07/21 Python
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
HTML块级标签汇总(小篇)
2016/07/13 HTML / CSS
介绍java中初始化块的使用
2012/09/11 面试题
什么是.net的Remoting技术
2016/07/08 面试题
两道JAVA笔试题
2016/09/14 面试题
2014教师党员个人自我评议
2014/09/20 职场文书
幼儿园中秋节活动总结
2015/03/23 职场文书
Jupyter notebook 输出部分显示不全的解决方案
2021/04/24 Python