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 简单任务非常高效,一共三个来回就生成了最终代码(过程中出现了生成缩进不合规范的情况),但总体来说瑕不掩瑜。
  • 被这几个空文件夹折磨了几个月终于解决了。
相关推荐
秋氘渔8 小时前
迭代器和生成器的区别与联系
python·迭代器·生成器·可迭代对象
Gu_shiwww8 小时前
数据结构8——双向链表
c语言·数据结构·python·链表·小白初步
Dxy123931021610 小时前
python把文件从一个文件复制到另一个文件夹
开发语言·python
sonrisa_10 小时前
collections模块
python
折翼的恶魔10 小时前
数据分析:排序
python·数据分析·pandas
天雪浪子11 小时前
Python入门教程之赋值运算符
开发语言·python
站大爷IP11 小时前
5个技巧写出专业Python代码:从新手到进阶的实用指南
python
hrrrrb11 小时前
【Python】字符串
java·前端·python
大翻哥哥12 小时前
Python 2025:低代码开发与自动化运维的新纪元
运维·python·低代码
Source.Liu12 小时前
【Pywinauto库】12.2 pywinauto.element_info 后端内部实施模块
windows·python·自动化