删除指定文件夹重复的文件

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
大数据开发治理平台 DataWorks,不限时长
简介: 这是一个Python脚本,用于删除指定文件夹(包括子目录)中的重复图片文件,基于文件的MD5值。程序依赖`NStudyPy`库,可通过`pip install -U NStudyPy`安装。核心函数`delete_repeat_file`接收路径和是否递归参数,调用未展示的`get_repeat_file`函数获取重复文件并删除。

删除指定文件夹重复的文件

背景和环境说明

本程序使用 python 3.10+
机器学习,样本处理过程中会有重复的数据。这里的样本是图片,本程序根据文件MD5 删除重复文件。

依赖包下载

pip install -U NStudyPy

使用

from NStudyPy import PyFile

if __name__ == '__main__':
    PyFile.delete_repeat_file(r'F:\temp\cards', is_recursive=True)

is_recursive 参数来限定是否递归子目录

核心源码

def delete_repeat_file(path: str, is_recursive=True) -> None:
    """
    删除重复文件
    :param path: 路径
    :param is_recursive:  是否递归
    :return: None
    """
    for f in get_repeat_file(path, is_recursive).values():
        for i in f[1:]:
            os.remove(i)

get_repeat_file 获取重复文件 , 参加下篇随笔来介绍。

目录
相关文章
|
1月前
|
弹性计算 运维 Shell
删除某个目录下大小为 0 的文件
【4月更文挑战第28天】
29 0
|
1月前
如何批量重命名,把文件(夹)名的内容位置调整(前后移动)
该文介绍了如何使用一个工具批量修改文件名,将"中文[数字]"格式改为"中文 - 数字"。首先,从提供的百度网盘或蓝奏云链接下载工具,使用提取码获取。接着,在工具中选择文件批量复制模块,通过拖放或导入按钮添加文件或文件夹。然后,设置两个规则:一个提取中文(2个字符),另一个提取数字(20个字符)。预览无误后,选择方案3,以自定义内容("规则1 空格-空格 规则2")重命名,并确保关联到之前创建的规则。最后,执行重命名操作,查看结果,文件名应已按预期更改。
|
1月前
如何批量删除多个不同路径的文件但又保留文件夹呢
本文介绍了使用一个工具批量处理文件夹的步骤。首先,提供了百度网盘和蓝奏云的链接,需要提取码qwu2和2r1z。接着,展示了一个包含两个图片的文件夹示例。然后,打开工具,利用文件批量复制功能,并勾选“复制时先清空…”选项,即使目标文件夹为空。按照提示操作后,即可完成批量处理。最后,展示了操作完成后的结果。
|
1月前
|
弹性计算 运维 Shell
判断文件或目录是否存在
【4月更文挑战第29天】
23 0
|
1月前
|
存储 定位技术 Python
批量将文件名称符合要求的文件自动复制到新文件夹:Python实现
批量将文件名称符合要求的文件自动复制到新文件夹:Python实现
|
1月前
文件或目录的创建、删除、复制、移动
文件或目录的创建、删除、复制、移动
37 0
|
JSON 数据格式
批量遍历指定类型的文件及文件夹,并将其复制到新的文件夹
批量遍历指定类型的文件及文件夹,并将其复制到新的文件夹
89 0
C#编程-18:遍历某一路径下所有文件和文件夹
C#编程-18:遍历某一路径下所有文件和文件夹
465 0
递归删除指定文件-目录
递归删除指定文件-目录
110 0
|
分布式计算 Hadoop 开发者
文件和文件夹的判断| 学习笔记
快速学习文件和文件夹的判断
214 0