用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获取当前时间的方法
Jan 14 Python
python在linux系统下获取系统内存使用情况的方法
May 11 Python
简单了解Python matplotlib线的属性
Jun 29 Python
使用python将excel数据导入数据库过程详解
Aug 27 Python
python 图像处理画一个正弦函数代码实例
Sep 10 Python
Python创建数字列表的示例
Nov 28 Python
Python编译成.so文件进行加密后调用的实现
Dec 23 Python
基于pytorch padding=SAME的解决方式
Feb 18 Python
在Ubuntu 20.04中安装Pycharm 2020.1的图文教程
Apr 30 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
Jun 04 Python
解决pytorch 数据类型报错的问题
Mar 03 Python
Python机器学习应用之基于线性判别模型的分类篇详解
Jan 18 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程序的方法
2009/03/09 PHP
Yii实现Command任务处理的方法详解
2016/07/14 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
2018/07/30 PHP
php和C#的yield迭代器实现方法对比分析
2019/07/17 PHP
PHP实现数组根据某个字段进行水平合并,横向合并案例分析
2019/10/08 PHP
javascript 文档的编码问题解决
2009/03/01 Javascript
通过DOM脚本去设置样式信息
2010/09/19 Javascript
jQuery Ajax使用 全解析
2010/12/15 Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
2013/05/07 Javascript
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
jquery.messager.js插件导致页面抖动的解决方法
2013/07/14 Javascript
详解AngularJS中的依赖注入机制
2015/06/17 Javascript
vue-resource 拦截器(interceptor)的使用详解
2017/07/04 Javascript
vue父组件通过props如何向子组件传递方法详解
2017/08/16 Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
2018/01/18 Javascript
vue 组件 全局注册和局部注册的实现
2018/02/28 Javascript
手把手教你vue-cli单页到多页应用的方法
2018/05/31 Javascript
Koa日志中间件封装开发详解
2019/03/09 Javascript
Vue中全局变量的定义和使用
2019/06/05 Javascript
koa2+vue实现登陆及登录状态判断
2019/08/15 Javascript
基于iview-admin实现动态路由的示例代码
2019/10/02 Javascript
element-ui中el-upload多文件一次性上传的实现
2020/12/02 Javascript
[07:39]第一届亚洲邀请赛回顾视频
2017/02/14 DOTA
[51:28]EG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/16 DOTA
python实现的各种排序算法代码
2013/03/04 Python
python实现的文件夹清理程序分享
2014/11/22 Python
Python实现京东秒杀功能代码
2019/05/16 Python
Python 私有化操作实例分析
2019/11/21 Python
买房子个人收入证明
2014/01/16 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
高校师德师风自我剖析材料
2014/09/29 职场文书
离婚协议书怎么写的
2014/12/14 职场文书
2015年社区妇联工作总结
2015/04/21 职场文书
历史博物馆观后感
2015/06/05 职场文书
公证书
2019/04/17 职场文书
Python如何用re模块实现简易tokenizer
2022/05/02 Python