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 简单任务非常高效,一共三个来回就生成了最终代码(过程中出现了生成缩进不合规范的情况),但总体来说瑕不掩瑜。
  • 被这几个空文件夹折磨了几个月终于解决了。
相关推荐
张3蜂6 分钟前
深入理解 Python 的 frozenset:为什么要有“不可变集合”?
前端·python·spring
皮卡丘不断更18 分钟前
手搓本地 RAG:我用 Python 和 Spring Boot 给 AI 装上了“实时代码监控”
人工智能·spring boot·python·ai编程
爱打代码的小林34 分钟前
基于 MediaPipe 实现实时面部关键点检测
python·opencv·计算机视觉
极客小云1 小时前
【ComfyUI API 自动化利器:comfyui_xy Python 库使用详解】
网络·python·自动化·comfyui
闲人编程1 小时前
Elasticsearch搜索引擎集成指南
python·elasticsearch·搜索引擎·jenkins·索引·副本·分片
痴儿哈哈1 小时前
自动化机器学习(AutoML)库TPOT使用指南
jvm·数据库·python
花酒锄作田2 小时前
SQLAlchemy中使用UPSERT
python·sqlalchemy
SoleMotive.2 小时前
一个准程序员的健身日志:用算法调试我的增肌计划
python·程序员·健身·职业转型
亓才孓2 小时前
[Properties]写配置文件前,必须初始化Properties(引用变量没执行有效对象,调用方法会报空指针错误)
开发语言·python
Bruk.Liu2 小时前
(LangChain 实战14):基于 ChatMessageHistory 自定义实现对话记忆功能
人工智能·python·langchain·agent