You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python删除Windows C盘文件夹及解决PermissionError权限报错问题

问题排查与解决方法

错误原因

你碰到的问题主要来自三个方面:

  • 调用的API不符合使用场景:os.remove()仅支持删除单个文件,无法直接作用于文件夹
  • 权限不足/文件被占用:WinError 5属于Windows系统级权限拒绝,要么是当前运行脚本的账户没有对应路径的修改权限,要么是Temp目录下有文件正被运行中的程序占用无法删除
  • 路径写法有隐患:你写的路径没有加原生字符串标识r,路径里的\n会被Python识别为换行符,导致路径解析错误

具体解决步骤

步骤1:替换正确的删除接口

如果要删除非空文件夹,优先使用shutil.rmtree()递归删除接口,如果你需要跳过占用的文件不中断执行,可以用以下代码:

import shutil

temp_path = r"C:\Users\name\AppData\Local\Temp"
# 设ignore_errors=True可以自动跳过无法删除的文件/文件夹
shutil.rmtree(temp_path, ignore_errors=True)

如果需要更精细化的控制(比如分别处理文件和文件夹的删除异常),可以用遍历的方式实现:

import os
import shutil

temp_path = r"C:\Users\name\AppData\Local\Temp"
for root, dirs, files in os.walk(temp_path):
    # 先删文件
    for file in files:
        try:
            os.remove(os.path.join(root, file))
        except Exception:
            pass
    # 再删子文件夹
    for dir_name in dirs:
        try:
            shutil.rmtree(os.path.join(root, dir_name))
        except Exception:
            pass

步骤2:获取管理员权限

运行Python脚本前,右键点击你用的终端/IDE,选择「以管理员身份运行」,再执行脚本即可拿到足够的系统修改权限。

步骤3:处理顽固占用文件

如果执行后还有残留的文件,属于正常情况,这类文件是当前系统正在运行的程序临时占用的,重启电脑后再执行删除操作即可清除。

内容的提问来源于stack exchange,提问作者user15189401

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 01:24:01