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('文件处理完成。')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/623056.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

秒杀系统之设计方向

1 秒杀存在的问题 对于一个日常平稳的业务系统,如果直接开通秒杀功能的话,往往会出现很多问题—— 2 设计方向的思考 秒杀本质是要求一个瞬时高发下的承压系统,这也是其区别于其他业务的核心场景。对日常系统秒杀产生的问题逐一进行拆解分…

MPLAB X IDE编译attiny1616工程报错却无报错信息

MPLAB X IDE(XC-8编译器)编译报错,无具体错误内容,仅显示需要xc-8 pro的警告。 内存占用率显示为81%,未超标。 原因:软件使用了microchip的bootloader功能。应用程序起始地址(也是bootloader结束地址)设置错…

【SAP ABAP学习资料】通过RFC接口上传图片至SAP 图片格式转换 图片大小调整

SAP图片相关: 链接: 【SAP ABAP学习资料】图片上传SAP 链接: 【SAP ABAP学习资料】屏幕图片预览 链接: 【SAP ABAP学习资料】smartforms打印图片,动态打印图片 需求: SAP上传图片只能本地电脑选择图片通过SE78或PERFORM IMPORT_BITMAP_BDS上…

【专利】一种日志快速分析方法、设备、存储介质

公开号CN116560938A申请号CN202310311478.5申请日2023.03.28 是我在超音速人工智能科技股份有限公司(833753) 职务作品,第一发明人是董事长夫妇,第二发明人是我。 ** 注意** : 内容比较多,还有流程图、界面等。请到 专利指定页面…

SSL/TLS协议信息泄露漏洞(CVE-2016-2183)解法

1.运行gpedit.msc,进入本地组策略编辑器。 2. 本地组策略编辑器-->计算机配置-->管理模板-->网络-->SSL配置设置-->启用“SSL密码套件顺序”。 3. 将原有的密码套件值清空,拷入下面的值,保存设置,并重启服务器即…

AI时代的网络安全战:以智取胜,守护数字安宁

在数字化浪潮的推动下,我们的生活和工作日益离不开互联网。然而,随着人工智能(AI)技术的飞速发展,网络安全问题也日益凸显。美国联邦调查局(FBI)的一则警报如同一记重锤,敲响了我们对…

CANopen NWT,SDO,HeartBeat报文协议

什么是CANopen? CANopen是一个基于CAN总线的“高层协议”,这意味着CAN总线(ISO 11898)就像集装箱的卡车一般作为CANopen信息的“运输工具”。 CAN只是实现了带有11位CAN ID、远程传输(RTR)位和64个数据位&…

【VUE.js】前端框架——未完成

基于脚手架创建前端工程 环境 当安装node.js时,它本身就携带有npm命令。(-v 查版本号)安装VUE CLI npm i vue/cli -g(全局) 创建 vue create 【project name】 镜像源解决方案 输入创建命令后,提示检查更…

论文阅读记录--关于水文系统的传递函数

文章目录 J-schuite的文章,地下水系统的响应的功率谱分析--传递函数1. 什么是冲激响应函数与传递函数?2. 地下水流系统中传递函数的求解3. J-schuite文章中传递函数的复现J-schuite的文章,地下水系统的响应的功率谱分析–传递函数 1. 什么是冲激响应函数与传递函数? 在信号…

PingCAP 戴涛:构建面向未来的金融核心系统

作者:戴涛 导读 近日,平凯星辰解决方案技术部总经理戴涛在 2024 数据技术嘉年华活动中,做了主题为“构建面向未来的金融核心系统”的分享,本文为戴涛演讲实录的全文。 文章分析了中国金融行业的发展趋势,并且基于这…

集合系列(二十五) -二叉树、平衡二叉树、红黑树性能总结

一、摘要 二叉树,作为一种数据结构,在实际开发中,有着非常广泛的应用,尤其是以平衡二叉树、红黑树为代表,在前几篇文章中,我们详细的介绍了BST、AVL、RBT的算法以及代码实践,下面简要概括描述一…

nginx目录枚举修复手册

nginx目录枚举修复手册 漏洞背景 修复方式: ssh zujian2 sudo vi /data/apps/nginx/conf/conf.d/default.conf server {

免费的GPT4终于要来了!OpenAI直播发布会详细解读!

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,所以创建了“AI信息Gap”这个公众号,专注于分享AI全维度知识…

简单易懂的HashMap使用指南:从入门到精通

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一…

Wifi——Wifi断连问题分析

一、iperf测试wifi断连 1.信号强度差 -36表示非常强;但网络质量依然非常差。 可以分析出四个原因: 2.与throughput相关 为什么同一个网络的信号强度估算会有一定差异?! 下图是上述log的一些信息:

DTC 2024回顾丨zData X 多元数据库一体机:开创多元数据库时代部署新范式

导语 在2024“数据技术嘉年华”上,云和恩墨数据库一体机产品总经理刘宇在“数据库极致特性”专题论坛发表了题为《打造多元数据库部署新范式,引领一体化资源池创新之路》的演讲。他深入分析了国产数据库面临的挑战,并详细介绍了云和恩墨如何利…

F5G-A万兆光网商用启航,挥动FTTR F50星光之翼,北京联通助力首都家庭飞向全光智慧时代...

2001年,王菲在发行的新歌《光之翼》中唱道:静静地按下电源开关/屏幕的色彩越来越亮/在虚拟的城市/找一个让心灵休息的地方/张开透明翅膀/朝着月亮飞翔/搜寻最美一个现世的天堂…… 将时间拨回千禧年,“看不见的城市”“伊托邦”“网络之城”&…

享元模式详解

享元模式 1 概述 定义: ​ 运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似对象的开销,从而提高系统资源的利用率。 2 结构 享元(Flyweight )模式中存…

问题解决记录 | kettle中出现中文乱码

spoon.bat的启动文件中进行修改 if "%PENTAHO_DI_JAVA_OPTIONS%""" set PENTAHO_DI_JAVA_OPTIONS"-Xms1024m" "-Xmx2048m" "-Dfile.encodingUTF-8"

2.数据类型与变量(java篇)

目录 数据类型与变量 数据类型 变量 整型变量 长整型变量 短整型变量 字节型变量 浮点型变量 双精度浮点型 单精度浮点型 字符型变量 布尔型变量(boolean) 类型转换 自动类型转换(隐式) 强制类型转换(显式) 类型提升 字符串类型 数据类…