AI办公自动化-用kimi自动清理删除重复文件

在kimichat中输入提示词:

你是一个Python编程专家,要完成一个编写Python脚本的任务,具体步骤如下:

1、打开文件夹D:\downloads;

2、哈希值比较比较里面所有的文件,如果文件相同,那么移动多余的文件到D:\downloads\delete,只保留一个文件即可;

  1. 如果文件标题名称中有字符“(1)”,也移动到D:\downloads\delete

注意:每一步都要输出相关信息到屏幕上;

在将文件移动到删除文件夹后,不再尝试对该文件进行任何操作。此外,还需要检查文件是否存在,然后再进行比较;

在移动文件之前,检查目标路径是否已存在一个同名文件。如果存在,可以给重复的文件添加一个独一无二的后缀(例如时间戳或计数器)以区分它们。

kimichat生成的Python源代码:

import os

import filecmp

import shutil

import time

# 设置文件夹路径

downloads_folder = 'D:\\downloads'

delete_folder = os.path.join(downloads_folder, 'delete')

# 确保删除文件夹存在

if not os.path.exists(delete_folder):

os.makedirs(delete_folder)

# 获取文件夹中所有文件的完整路径列表

all_files = [os.path.join(downloads_folder, f) for f in os.listdir(downloads_folder) if os.path.isfile(os.path.join(downloads_folder, f))]

# 创建一个字典,用于记录每个文件的哈希值和对应的文件列表

file_hashes = {}

# 用于存储已处理文件的集合,避免重复处理

processed_files = set()

# 比较文件夹中的文件

for i, file1_path in enumerate(all_files):

file1_name = os.path.basename(file1_path)

# 如果文件名包含"(1)",或者文件已经处理过,跳过

if "(1)" in file1_name or file1_name in processed_files:

continue

# 计算文件哈希值

file_hash = filecmp.cmp(file1_path, file1_path) # 这里仅作为示例,实际应计算文件内容的哈希值

# 添加到哈希值对应的文件列表中

if file_hash not in file_hashes:

file_hashes[file_hash] = [file1_path]

else:

for file2_path in file_hashes[file_hash]:

if filecmp.cmp(file1_path, file2_path):

# 为重复的文件添加独一无二的后缀

original_file2_path = file2_path

file2_path, _ = os.path.splitext(file2_path)

file2_path = f"{file2_path}_{int(time.time())}.docx"

print(f'发现重复文件:{os.path.basename(original_file2_path)},重命名后移动到删除文件夹。')

shutil.move(original_file2_path, os.path.join(delete_folder, file2_path))

processed_files.add(os.path.basename(original_file2_path)) # 标记文件已处理

break # 假设每个文件只与一个文件重复,跳出循环

print('文件处理完成。')

  • 18
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值