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 简单任务非常高效,一共三个来回就生成了最终代码(过程中出现了生成缩进不合规范的情况),但总体来说瑕不掩瑜。
  • 被这几个空文件夹折磨了几个月终于解决了。
相关推荐
workflower5 小时前
时序数据获取事件
开发语言·人工智能·python·深度学习·机器学习·结对编程
C++业余爱好者6 小时前
Java 提供了8种基本数据类型及封装类型介绍
java·开发语言·python
AI Echoes7 小时前
构建一个LangChain RAG应用
数据库·python·langchain·prompt·agent
派大鑫wink7 小时前
从零到精通:Python 系统学习指南(附实战与资源)
开发语言·python
c骑着乌龟追兔子7 小时前
Day 38 官方文档的阅读
python
羸弱的穷酸书生8 小时前
国网 i1协议 python实现
开发语言·python
weixin_462022358 小时前
RAW-Adapter: Adapting Pre-trained Visual Model to Camera RAW Images
python·计算机视觉
电子硬件笔记8 小时前
Python语言编程导论第三章 编写程序
开发语言·python·编辑器
布谷歌8 小时前
在java中实现c#的int.TryParse方法
java·开发语言·python·c#