首页Python3、删除重复文件

3、删除重复文件

1、脚本需求

删除重复的文件,包括不同文件夹内的重复文件。

2、方法步骤:

  • 将所有文件都存放到一个list变量中
  • 判断两个文件的内容是否一致
  • 判断在很多文件中找到一对重复的文件
  • 删除文件

3、代码实现:

import os
import filecmp

path = '文件夹所在路径'
# 已知路径下存在两个文件夹d1和d2
dirs = ['d1','d2']

# 将指定目录下的所有文件的路径存储到all_files变量中
def get_all_files(path,dirs):
    all_files = []
    for d in dirs:
        cur_path = os.path.join(path,d)
        files = os.listdir(cur_path)
        for f in files:
            all_files.append(os.path.join(cur_path,f))
    return all_files

# 比较两个文件的内容是否一致
def cmp_files(x,y):
     # 利用filecmp模块中的cmp函数,判断两个文件的内容是否一致。如果一致,函数返回True;如果不一致,函数返回False
    if filecmp.cmp(x,y):
        # 如果一致,则删除第二个,保留第一个,并输出信息
        os.remove(y)
        print("路径:"+y+"下的文件是重复文件,已经删除")

# 调用函数,获取文件列表
all_files = get_all_files(path,dirs)
# 用双重for循环来比较文件是否有重复
for x in all_files:
    for y in all_files:
    # 如果x和y不是相同文件,而且都存在,则执行后续操作
        if x != y and os.path.exists(x) and os.path.exists(y):
        # 比较两个文件的内容是否一致
            cmp_files(x,y)
RELATED ARTICLES

欢迎留下您的宝贵建议

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular

Recent Comments