十行python代码实现文件去重,去除重复文件的脚本

举报
python教程 发表于 2024/04/02 15:51:01 2024/04/02
【摘要】 1.导入依赖'''导入依赖'''from pathlib import Pathimport filecmp 2.函数说明filecmp.cmp(path1, path2, shallow=True)path1/path2:待比较的两个文件路径。shallow :默认为True,即只比较os.stat()获取的元数据(创建时间,大小等信息)是否相同,设置为False的话,在对比文件的时候还...

1.导入依赖

'''导入依赖'''

from pathlib import Path

import filecmp

2.函数说明

filecmp.cmp(path1, path2, shallow=True)

path1/path2:待比较的两个文件路径。

shallow :默认为True,即只比较os.stat()获取的元数据(创建时间,大小等信息)是否相同,
设置为False的话,在对比文件的时候还要比较文件内容。

3.提取待去重文件路径

# 初始化文件路径列表
path_files_list = []

# 遍历
for path in Path(r'/usr/load/data').iterdir():

    # 校验是否为文件
    if path.is_file():
        # 加入到待去重文件列表
        path_files_list.append(path)
#小编创建了一个Python学习交流群:711312441
# 遍历待去重文件
for file_index in range(len(path_files_list) - 1):

    # 遍历,两辆比对
    for later in range(file_index + 1, len(path_files_list)):

        # 校验内容是否相同
        if filecmp.cmp(path_files_list[file_index], 
path_files_list[later], shallow=False):

            # 内容相同、则删除
            path_files_list[file_index].unlink()
            break
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。