编程语言
首页 > 编程语言> > python十行代码实现文件去重,去除重复文件的脚本

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

作者:互联网

导入依赖

'''导入依赖'''

from pathlib import Path

import filecmp

函数说明

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

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

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

提取待去重文件路径

# 初始化文件路径列表

path_files_list = []

# 遍历

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

    # 校验是否为文件

    if path.is_file():

        # 加入到待去重文件列表

        path_files_list.append(path)

# 遍历待去重文件

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

【粉丝福利】关注公众号,获取全套视频资料,喜欢小编点个 '关注' 吧!

file

【往期精选】

● python的GUI框架tkinter,实现程序员的流氓式表白逻辑

● 探究python函数的不定长参数*args与**kwargs

● 没有深思过的python冷知识你知道几个?

● python图片处理,自动生成gif动态图片

● python-redis 的操作手法,相当简单的redis数据存储方式!

● python 日期、时间处理,各种日期时间格式/字符串之间的相互转换究竟是怎样的?

● python 内置的数据计数器Counter相当nice

● 几十行代码实现python发送邮件与接收邮件

● 梳理python路线知识盲区,最全面、最详细的python知识体系框架思维导图终于出炉了!

● 没有开发工具,在服务器控制台如何进行python代码调试,高级编程pdb代码调试!

● python中的set集合,元素的CRUD处理,交集/差集/并集计算,不只是能去重!

● python编程:yaml文件应用支持,轻松读取可配置参数!

● VsCode再出神器-Pylance,终于为python开发者也带来福利了!

● 灵魂发问:每个程序员心中都有自己的一套编码规范,你的代码别人能看懂吗?

本文由微信公众号【python 集中营】发布,更多精彩文章、视频资料即可领取!

标签:files,文件,python,list,十行,file,path
来源: https://www.cnblogs.com/lwsbc/p/15203338.html