zoukankan      html  css  js  c++  java
  • 删除电脑上重复备份的图片

      重复备份的文件名一般含有(1),(2)等,用python实现,顺便检测一下不同目录下的相同文件名的情况,也一并删除

    #!/usr/bin/env python
    #coding:utf-8
    """
    __title__ = ''
    __author__ = 'hadoop'
    __mtime__ = '2016/6/18'
    """
    
    # 程序先运行,打印信息正确之后,取消os.remove(path)的注释,真正的删除文件
    
    import os
    from time import clock as now
    
    def list_dir(rootDir):
        fileNum=0
        deleteNum =0
        sameName =0
        str = u'('  # 删除文件名中含有(的文件,这个可以根据实际需要改成想要的名字,现在是根据文件名识别,高级算法是根据图片内容找相似
        dirs = []
        files =[]   #保存文件名
        dirs.append(rootDir)
        for root in dirs:
            for lists in os.listdir(root):
                path=os.path.join(root,lists)
                if os.path.isdir(path):
                    dirs.append(path)
                else:   #是文件
                    fileNum += 1
                    filename = os.path.basename(path)
                    if filename.decode('gbk') in files:
                        sameName += 1
                        print '删除相同文件名的文件:',path.decode('gbk')
                    else:
                        files.append(filename.decode('gbk'))
                        # os.remove(path)
                    # print filename.decode('gbk')              #解码成gbk可以打印出中文名字,否则乱码
                    # print(filename.decode('gbk').find(str))   #find返回的是找到字符串的位置,没找到返回-1
                    if filename.decode('gbk').find(str)!= -1:
                        deleteNum += 1
                        print '删除文件:',path.decode('gbk')
                        # os.remove(path)
        print '文件总个数为:', fileNum
        print '删除重复文件总个数为:',deleteNum
        print '删除相同文件名总个数为:',sameName
    
    if __name__=='__main__':
        rootDir = raw_input("输入需要处理文件的根目录:")
        start=now()
        list_dir(rootDir)
        end=now()
        print ' 总共耗时:',end-start,''
  • 相关阅读:
    jquery学习笔记
    javascript中的面向对象—— 学习1
    Sql Sever语句 (续2)
    Sql sever 常用语句(续)
    SqlSever 查询基本
    Microsoft SqlSever 数据库--软谋1
    如何编写高质量的Javascript代码
    要当好JavaScript程序员:5个debug技巧
    深入理解js构造函数
    命名空间$.fn
  • 原文地址:https://www.cnblogs.com/luolizhi/p/5596592.html
Copyright © 2011-2022 走看看