AI 一秒生成的 pc 查重清理小工具

sosme · 2024-10-25 17:35:17 · 17 次点击
功能:查找硬盘重复文件并询问是否清理
思考:人与机器沟通的门槛越来越低,人只需要把想法/需求提给 ai 立刻可以获得想要的结果,完全不需要自己思考写代码,“程序员”或许会消失,取而代之的是“AI 对接员”

ai 代码:

import os
import hashlib

def hash_file(file_path):
    """计算文件的哈希值"""
    hasher = hashlib.md5()  # 可以使用其他哈希函数
    with open(file_path, 'rb') as f:
        while chunk := f.read(8192):
            hasher.update(chunk)
    return hasher.hexdigest()

def find_duplicates(root_folder):
    """查找重复文件"""
    hashes = {}
    duplicates = []

    for dirpath, _, filenames in os.walk(root_folder):
        for filename in filenames:
            file_path = os.path.join(dirpath, filename)
            file_hash = hash_file(file_path)

            if file_hash in hashes:
                duplicates.append((file_path, hashes[file_hash]))
            else:
                hashes[file_hash] = file_path

    return duplicates

def main():
    # 指定搜索的根目录,例如 C:\ 或者其他驱动器
    root_folder = input("请输入要搜索的根目录(例如 C:\\):")

    duplicates = find_duplicates(root_folder)

    if not duplicates:
        print("未找到重复文件。")
        return

    print("找到的重复文件:")
    for i, (file1, file2) in enumerate(duplicates):
        print(f"{i + 1}: {file1}\n   {file2}")

    # 删除选择
    while True:
        choice = input("请输入要删除的文件编号(或者输入 'q' 退出):")
        if choice.lower() == 'q':
            break
        try:
            index = int(choice) - 1
            if 0 <= index < len(duplicates):
                file_to_delete = duplicates[index][0]
                os.remove(file_to_delete)
                print(f"已删除文件: {file_to_delete}")
                duplicates.pop(index)  # 从列表中移除已删除的项
            else:
                print("无效的编号。")
        except ValueError:
            print("请输入有效的编号。")

if __name__ == "__main__":
    main()
举报· 17 次点击
登录 注册 站外分享
快来抢沙发
0 条回复  
返回顶部