栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 文件去重样例

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 文件去重样例

文章目录
  • ​​​​​​​文章目录

    前言

    一、文件去重应用场景?

    二、使用步骤

    1.引入库

    2.样例代码

    总结​​​​​​​


前言

python remove duplicate files via pathlib and set

一、文件去重应用场景?

当同类型文件分布于不同文件夹时且文件数量过大时(几十W),如何去重简单快捷

二、使用步骤

1.引入库

代码如下(示例):

from pathlib import Path

2.样例代码

代码如下(示例):

class FilesFilter(object):
    """
    a simple drop duplicate files case
    简单的依据文件名去重的样例代码
    """
    def __init__(self, path):
        self._seen = set()
        self._parent_path = Path(path)
        
    def remove(self):
        """
        判断文件是否在set中, 若不在则添加,若存在说明重复,删除该文件夹
        param:None
        rtype:None
        """
        for file_name in self._parent_path.rgolb("*.xxx"):#xxx为文件后缀名, eg. pdf, csv, doc, xlsx, txt...(自行修改)
            if file_name.stem not in self._seen:
                self._seen.add(file_name.stem) #根据文件名去重
            else:
                file_name.unlink() # 删除重复文件
        
if __name__ == "__main__":
    path = r"your files path here" #path为多个包含相同文件的不同文件夹的父目录
    FilesFilter(path).remove()

总结

以上就是简单地对于分布在不同文件夹的重复文件去重操作,  利用了set函数的特性以及pathlib库的相关方法。简单测试, 15W文件中去除约5W重复文件耗时约40分钟.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/987669.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号