用Python脚本来删除指定容量以上的文件的教程

文件多了乱放, 突然有一天发现硬盘空间不够了, 于是写了个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)
(0)

相关推荐

  • python删除特定文件的方法

    本文实例讲述了python删除特定文件的方法.分享给大家供大家参考.具体如下: #!/usr/bin/python # -*- coding: utf-8 -*- import os def del_files(path): for root , dirs, files in os.walk(path): for name in files: if name.endswith(".CR2"): os.remove(os.path.join(root, name)) print (&qu

  • python 删除大文件中的某一行(最有效率的方法)

    用 python 处理一个文本时,想要删除其中中某一行,常规的思路是先把文件读入内存,在内存中修改后再写入源文件. 但如果要处理一个很大的文本,比如GB级别的文本时,这种方法不仅需要占用很大内存,而且一次性读入内存时耗费时间,还有可能导致内存溢出. 所以,需要用另外一个思路去处理. 我们可以使用 open() 方法把需要修改的文件打开为两个文件,然后逐行读入内存,找到需要删除的行时,用后面的行逐一覆盖.实现方式见以下代码. with open('file.txt', 'r') as old_fi

  • python实现删除文件与目录的方法

    本文实例讲述了python实现删除文件与目录的方法.分享给大家供大家参考.具体实现方法如下: os.remove(path) 删除文件 path. 如果path是一个目录, 抛出 OSError错误.如果要删除目录,请使用rmdir(). remove() 同 unlink() 的功能是一样的 在Windows系统中,删除一个正在使用的文件,将抛出异常.在Unix中,目录表中的记录被删除,但文件的存储还在. os.removedirs(path) 递归地删除目录.类似于rmdir(), 如果子目

  • python 实现删除文件或文件夹实例详解

    python 实现删除文件或文件夹 最近自己学习Python 的知识,自己学习抓取网页的内容知识等,在学习的时候Python 删除文件夹或者文件知识的时候,觉得本篇内容不错,推荐给大家. 实例代码,仔细看注释明细: #-*- coding: UTF-8 -*- # 有时候要删除文件夹里文件或文件夹 # 这个小类用来删除文件或文件夹还是相当有用的 # 删除文件时有时希看到删除的结果,于是就有了这个Deleter了 # 下面的一些文件注释用的是Doxygen的样式 # 用了英文,先就不改回中文吧.

  • 用Python脚本来删除指定容量以上的文件的教程

    文件多了乱放, 突然有一天发现硬盘空间不够了, 于是写了个python脚本搜索所有大于10MB的文件,看看这些大文件有没有重复的副本,如果有,全部列出,以便手工删除 使用方式 加一个指定目录的参数 比如python redundant_remover.py /tmp 主要用到了stat模块,os.sys系统模块 import os, sys #引入统计模块 from stat import * BIG_FILE_THRESHOLD = 10000000L dict1 = {} # filesiz

  • python 删除指定时间间隔之前的文件实例

    遍历指定文件夹下的文件,根据文件后缀名,获取指定类型的文件列表:根据文件列表里的文件路径,逐个获取文件属性里的"修改时间",如果"修改时间"与"系统当前时间"差值大于某个值,则删除该文件. #!/usr/bin/env python # -*- coding: utf-8 -*- """Document: Remove Synctoycmd sync expired .tmp files""&qu

  • 使用Python脚本提取基因组指定位置序列

    引言 在基因组分析中,我们经常会有这么一个需求,就是在一个fasta文件中提取一些序列出来.有时这些序列是一段完整的序列,而有时仅仅为原fasta文件中某段序列的一部分.特别是当数据量很多时,使用肉眼去挑选序列会很吃力,那么这时我们就可以通过简单的编程去实现了. 例如此处在网盘附件中给定了某物种的全基因组序列(0-refer/ Bacillus_subtilis.str168.fasta),及其基因组gff注释文件(0-refer/ Bacillus_subtilis.str168.gff).

  • python查找目录下指定扩展名的文件实例

    本文实例讲述了python查找目录下指定扩展名的文件.分享给大家供大家参考.具体如下: 这里使用python查找当前目录下的扩展名为.txt的文件 import os items = os.listdir(".") newlist = [] for names in items: if names.endswith(".txt"): newlist.append(names) print newlist 希望本文所述对大家的Python程序设计有所帮助.

  • php实现删除指定目录下相关文件的方法

    本文实例讲述了php实现删除指定目录下相关文件的方法.分享给大家供大家参考.具体实现方法如下: 通常来说在php中删除文件最简单的方法就是直接使用unlink命令,而对于需要删除指定目录下的指定文件的情况,就需要遍历删除了. 具体实例代码如下: 复制代码 代码如下: <?php  //删除指定文件夹下的非法文件  function my_del($dir)  {     if(is_dir($dir)){         //打开指定文件夹         if($handle = opendi

  • python调用pyaudio使用麦克风录制wav声音文件的教程

    python的pyaudio可以进行录音,播放,生成wav文件等等,WAVE是录音时用的标准的WINDOWS文件格式,文件的扩展名为WAV,数据本身的格式为PCM或压缩型,属于无损音乐格式的一种.在我们研究语音识别,自然语言处理的过程中,常常会使用到它,比如我们调用百度语音识别所以我们首先研究一下pyaudio库的安装与使用. 安装: pip install pyaudio 调用pyaudio使用麦克风录制声音: python中的pyaudio库可以直接通过麦克风录制声音,我们可以通过调用该库,

  • Python删除指定目录下过期文件的2个脚本分享

    脚本1: 这两天用python写了一个删除指定目录下过期时间的脚本.也可能是我初学python,对python还不够熟习,总觉得这个脚本用shell写应该更简单也更容易些.就功能上来说,该脚本已经实现了我想要的效果,不过该脚本还不够通用性,还有更多可以完善的地方.目前该脚本在python2.4下运行良好.同时,我在脚本中加入了对python版本的判断,理论上2.7下也应该可以正常使用.有环境的朋友可以帮忙测试一下.该脚本不完善的地方在于,只能支持一级目录下的文件删除,还不支持目录递归.同时过期文

  • 使用Python脚本在Linux下实现部分Bash Shell的教程

    对于Linux用户来说,命令行的名声相当的高.不像其他操作系统,命令行是一个可怕的命题,但是对于Linux社区中那些经验丰富的大牛,命令行却是最值得推荐鼓励使用的.通常,命令行对比图形用户界面,更能提供更优雅和更高效的解决方案. 命令行伴随着Linux社区的成长,UNIX shells,例如 bash和zsh,已经成长为一个强大的工具,也是UNIX shell的重要组成部分.使用bash和其他类似的shells,可以得到一些很有用的功能,例如,管道,文件名通配符和从文件中读取命令,也就是脚本.

  • python脚本之一键移动自定格式文件方法实例

    前言 尝试用python语言写脚本是好的开始,证明我们有了自动化的思想,这对优秀的程序开发人员是很重要的,电子计算机本来就是要减少重复工作的. 首先我们要用到python自带的一些包,python语言让人爱不释手的一点,就是它自带了许多简捷迅速的包,堪称攻坚手术刀,用到的包:os(操作系统相关库),shutil(高级的文件,文件夹,压缩包处理模块). 经典的开头 # -*- coding: utf-8 -*- import os import shutil import sys type=sys

  • 使用vbs脚本定时删除N天前的文件

    脚本放在定时任务里代替服务定时执行一些操作比较方便,下面是实现删除文件夹下N天前创建的文件的vbs脚本,在配置文件 DelFolderList.txt 中配置要删除的文件路径,ONLY-DEL-FILES 下的路径 是只删除其下的文件,不删除其内的子目录的文件.DEL-FOLDER-FILES下的路径 是删除其内文件及其子目录内的文件,子目录为空时删除目录,删除的文件list 放在log文件夹内.例配置文件DelFolder.txt 内容如下: ONLY-DEL-FILESE:\Code\tes

随机推荐