查看: 1849|回复: 4

Delete Folder Access denied

[复制链接]

4

主题

37

帖子

98

积分

注册会员

Rank: 2

积分
98
发表于 2018-9-19 09:07:44 | 显示全部楼层 |阅读模式
当我使用了以下命令:os.remove("/folder_name")删除非空文件夹时,
我收到“Access denied”错误。
删除非空文件夹/目录的最有效方法是什么?
回复

使用道具 举报

3

主题

31

帖子

83

积分

注册会员

Rank: 2

积分
83
发表于 2018-9-19 09:09:47 | 显示全部楼层
  1. import shutil
  2. shutil.rmtree('/folder_name')
复制代码

标准库参考:shutil.rmtree。
按照文档,rmtree删除包含只读文件的文件夹会失败。如果要删除文件夹而不管它是否包含只读文件,请使用
  1. shutil.rmtree('/folder_name', ignore_errors=True)
复制代码

回复

使用道具 举报

22

主题

107

帖子

266

积分

中级会员

Rank: 3Rank: 3

积分
266
发表于 2018-9-19 09:10:39 | 显示全部楼层
参考Python文档上os.walk():
  1. # Delete everything reachable from the directory named in 'top',
  2. # assuming there are no symbolic links.
  3. # CAUTION:  This is dangerous!  For example, if top == '/', it
  4. # could delete all your disk files.
  5. import os
  6. for root, dirs, files in os.walk(top, topdown=False):
  7.     for name in files:
  8.         os.remove(os.path.join(root, name))
  9.     for name in dirs:
  10.         os.rmdir(os.path.join(root, name))
复制代码

回复

使用道具 举报

13

主题

53

帖子

131

积分

注册会员

Rank: 2

积分
131
发表于 2018-9-19 09:11:16 | 显示全部楼层
import shutil
shutil.rmtree(dest, ignore_errors=True)
回复

使用道具 举报

15

主题

97

帖子

310

积分

论坛管理

Rank: 4

积分
310
发表于 2018-9-19 09:12:22 | 显示全部楼层
在python 3.4你可以使用:
  1. import pathlib

  2. def delete_folder(pth) :
  3.     for sub in pth.iterdir() :
  4.         if sub.is_dir() :
  5.             delete_folder(sub)
  6.         else :
  7.             sub.unlink()
  8.     pth.rmdir() # if you just want to delete dir content, remove this line
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表