功能:查找硬盘重复文件并询问是否清理 思考:人与机器沟通的门槛越来越低,人只需要把想法/需求提给 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()
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.