批量删除重复文件

需求描述

在网上下载了一个红警地图包,解压后发现有很多是和默认的地图重复的,那么应该如何使用 Python 批量删除重复地图呢?

实现方法

  1. 安装并配置 Python 环境,这里不多做叙述。
  2. 新建一个 Python 文件,文件名称可随意命名,如:cadp.py
  3. 在新建的文件中添加以下代码:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    import os
    import shutil

    def compare_and_delete_duplicates(dir1, dir2):
    # 获取第一个文件夹中的所有文件和子文件夹
    files_and_dirs_in_dir1 = set(os.listdir(dir1))

    # 获取第二个文件夹中的所有文件和子文件夹
    files_and_dirs_in_dir2 = os.listdir(dir2)

    # 遍历第二个文件夹中的内容
    for item in files_and_dirs_in_dir2:
    item_path = os.path.join(dir2, item)

    # 如果该项在第一个文件夹中存在,则删除
    if item in files_and_dirs_in_dir1:
    if os.path.isfile(item_path) or os.path.islink(item_path):
    os.remove(item_path)
    elif os.path.isdir(item_path):
    shutil.rmtree(item_path)
    print(f"Deleted: {item_path}")
    else:
    print(f"Kept: {item_path}")

    # 定义两个文件夹的路径
    dir1 = r"F:\\Game\\Yuri's Revenge\\Maps\\MadHQ"
    dir2 = r"F:\\Game\\Yuri's Revenge\\Maps\\Custom"

    # 调用函数进行比较和删除操作
    compare_and_delete_duplicates(dir1, dir2)

  4. 在终端运行以上命令即可!
本文结束 感谢您的阅读
正在加载今日诗词....