mac 垃圾篓删除空文件夹

背景

之前垃圾篓莫名出现了几个空文件夹,删除时报错该文件正在运行中。

措施

在一开始搜索了网上的方法,包括重启 MAC 什么的,都不生效。

后面想到之前跑 python 脚本误删的文件根本找不到,所以尝试使用 python 来删除。

解决方案

开启脚本访问磁盘权限

  1. 系统偏好设置 → 安全性与隐私 → 隐私 → 完全磁盘访问
  2. 解锁后添加当前使用的终端应用

代码

py 复制代码
import os
import subprocess

def empty_trash():
    trash_path = os.path.expanduser('~/.Trash')
    
    if not os.path.exists(trash_path):
        print("垃圾桶路径不存在:", trash_path)
        return

    print(f"开始清理垃圾桶,共检测到 {len(os.listdir(trash_path))} 个项目...")
    
    for item in os.listdir(trash_path):
        item_path = os.path.join(trash_path, item)
        
        if item == '.DS_Store':
            try:
                os.unlink(item_path)
                print(f"已删除系统文件: {item}")
            except:
                continue
        
        if os.path.isdir(item_path):
            try:
                sub_items = os.listdir(item_path)
                if not sub_items or all(x.startswith('.') for x in sub_items):
                    try:  
                        # 尝试普通删除
                        os.rmdir(item_path)
                        print(f"成功删除空文件夹: {item}")
                    except Exception as e:
                        print(f"无法删除 {item},尝试强制删除...")
                        subprocess.run(['/bin/rm', '-rf', item_path], check=True)
                        print(f"已强制删除: {item}")
            except Exception as e:
                print(f"目录访问错误: {item} - {str(e)}")
                continue

if __name__ == "__main__":
    empty_trash()

感想

  • 代码由 Trea 的 DeepSeek-V3-0324 生成。
  • 用 AI coding 简单任务非常高效,一共三个来回就生成了最终代码(过程中出现了生成缩进不合规范的情况),但总体来说瑕不掩瑜。
  • 被这几个空文件夹折磨了几个月终于解决了。
相关推荐
兵慌码乱1 小时前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
luckdewei4 小时前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python
aqi0010 小时前
15天学会AI应用开发(八)使用向量数据库实现RAG功能
人工智能·python·大模型·ai编程·ai应用
Csvn11 小时前
`functools.lru_cache` —— 一行代码搞定缓存加速
后端·python
金銀銅鐵1 天前
[Python] 从《千字文》中随机挑选汉字
后端·python
cup111 天前
[技术复盘] Windows Python 打包实战:Nuitka 环境踩坑总结与 CI 自动化构建全指南
python·ai·环境变量·ci·nuitka·skill
aqi001 天前
15天学会AI应用开发(七)有了大模型为什么还要引入RAG
人工智能·python·大模型·ai编程·ai应用
金銀銅鐵2 天前
用 Python 实现 Take-Away 游戏
python·游戏