大家好,我是一名电脑维修师傅,平时经常遇到客户电脑里重复文件一大堆,占内存又难找的情况。之前手动清理太费时间,最近用字节的 Trae AI 写了个 Python 脚本,能一键扫描、列出电脑里的重复文件,今天把完整代码和踩坑经验分享给大家,新手照着就能用。
为什么用 Trae?
之前试过其他 AI 工具,要么需要代理,要么英文提示词麻烦。Trae 作为国产的 AI IDE,中文支持很友好,不用折腾环境,浏览器就能直接用,对我们这种非专业开发者太友好了。
我的需求场景
- 扫描指定文件夹,找出所有重复的文件
- 按文件大小、哈希值对比,确保识别准确
- 生成重复文件列表,方便用户手动删除,避免误删重要文件
import os import hashlib from collections import defaultdict
def get_file_hash(file_path, chunk_size=65536): """计算文件的MD5哈希值""" md5 = hashlib.md5() with open(file_path, 'rb') as f: while chunk := f.read(chunk_size): md5.update(chunk) return md5.hexdigest()
def find_duplicate_files(folder_path): """扫描文件夹,找出重复文件""" hash_map = defaultdict(list) duplicates = []
# 遍历文件夹
for root, dirs, files in os.walk(folder_path):
for file in files:
file_path = os.path.join(root, file)
try:
# 先按文件大小分组,再计算哈希值
file_size = os.path.getsize(file_path)
file_hash = get_file_hash(file_path)
hash_map[(file_size, file_hash)].append(file_path)
except Exception as e:
print(f"无法处理文件 {file_path}: {e}")
# 找出重复文件
for files in hash_map.values():
if len(files) > 1:
duplicates.append(files)
return duplicates
if __name__ == "__main__":
# 改成你自己要扫描的文件夹路径
target_folder = r"C:\Users\你的文件夹路径"
duplicates = find_duplicate_files(target_folder)
if duplicates:
print("发现以下重复文件:")
for group in duplicates:
print("\n重复组:")
for file in group:
print(f" - {file}")
else:
print("未发现重复文件")
我踩过的坑(新手必看)
- 权限问题:扫描系统文件夹时可能会报错,建议先扫描普通用户文件夹(比如下载、文档)
- 大文件处理:扫描视频、压缩包等大文件会比较慢,耐心等一下就行
- 误删风险:脚本只会列出重复文件,不会自动删除,一定要手动确认后再删
- 路径问题:Windows 系统的路径要用
r""格式,不然会报错,记得手动改一下
实际使用感受
这个脚本帮我省了不少时间,以前帮客户找重复文件要半天,现在跑脚本几分钟就能扫完,还能精准列出所有重复项。而且 Trae 生成的代码注释很清楚,我这种半懂不懂的也能看懂,遇到问题直接在对话里问它就行,很方便。
总结
对于我们这种非专业开发者来说,Trae 真的是个实用的工具,不用学复杂的编程,用中文说清楚需求就能写出能用的脚本。这个重复文件清理脚本,不管是帮客户修电脑还是自己整理文件都能用,需要的直接复制过去改改路径就能用。
如果你也用 Trae 写了什么实用的小工具,欢迎在评论区交流!