import os
from send2trash import send2trash
def recycle_temp_files(path_list):
for temp_path in path_list:
if os.path.exists(temp_path):
print(f"\n正在清理路径:{temp_path}")
# 遍历所有子目录和文件
for root, dirs, files in os.walk(temp_path):
for file in files:
file_path = os.path.join(root, file)
try:
send2trash(file_path)
print(f"已回收:{file_path}")
except Exception as e:
print(f"失败:{file_path}(原因:{e})")
print(f"路径 {temp_path} 清理完成!")
else:
print(f"警告:路径 {temp_path} 不存在,已跳过!")
if __name__ == "__main__":
# 在此处添加需要清理的路径(支持任意数量)
target_paths = [
r'C:\Users\user\AppData\Local\Temp'
]
recycle_temp_files(target_paths)
print("\n所有操作完成!部分系统文件可能需要管理员权限才能操作。")
代码通过 os.walk(temp_path)
实现目录树的深度优先遍历,该函数会生成三元组 (root, dirs, files)
:
- root:当前遍历的目录路径(如
C:\Users\...\Temp\SubFolder
) - dirs:当前目录下的子目录列表(如
["Cache", "Logs"]
) - files:当前目录下的文件列表(如
["temp1.txt", "error.log"]
) -
文件路径拼接
-
安全删除操作
-
异常处理机制
1.send2trash这个库是会下在这个位置
2.可以用来将特定文件夹内的清到回收站,最后检查下清除,路径可以设置多个