使用python os.rmdir时,获取PermissionError:[WinError 5]访问被拒绝

Gra*_*rav 6 python file-permissions python-2.7

我正在构建一个文件传输脚本,并且源清理功能正在使用os.rmdir('C:\\Users\\Grav\\Desktop\\TestDir0\\Om').这是我得到的错误:

PermissionError: [WinError 5] Access is denied: 'C:\\Users\\Grav\\Desktop\\TestDir0\\Om'
Run Code Online (Sandbox Code Playgroud)

Om通过Windows 7 检查了文件夹的权限,并将它们设置为允许删除我的用户帐户.我也试过设置我的解释器以管理员身份运行.问题依然存在,我受到了阻碍.对任何有见识的人都有很大责任!

seb*_*rgo 9

在删除目录之前尝试删除该目录中的所有文件:

import os
path_to_dir  = 'C:\\Users\\Desktop\\temp'  # path to directory you wish to remove
files_in_dir = os.listdir(path_to_dir)     # get list of files in the directory

for file in files_in_dir:                  # loop to delete each file in folder
    os.remove(f'{path_to_dir}/{file}')     # delete file

os.rmdir(path_to_dir)                      # delete folder
Run Code Online (Sandbox Code Playgroud)


Gra*_*rav 8

我在这里找到了一个解决方案:python 脚本在 Windows 中运行的用户是什么?

似乎有问题的文件夹具有顽固的只读属性。添加处理程序来更改此类只读标志对我来说就像一个魅力。

所有发布建议的人,都帮助我找到了最终答案,谢谢!


Zav*_*yan 7

我有同样的问题,可以通过shutil模块来解决。

import shutil
shutil.rmtree('/path/to/your/dir/')
Run Code Online (Sandbox Code Playgroud)


小智 5

取消选中文件/文件夹属性中的只读属性框。 在此处输入图片说明

  • 那么你如何以编程方式做到这一点呢? (8认同)