小编典典

python脚本在Windows中以什么用户身份运行?

python

我正在尝试让python删除一些目录,但出现访问错误。我认为python用户帐户没有权限吗?

WindowsError: [Error 5] Access is denied: 'path'

是我运行脚本时得到的。
我试过了

shutil.rmtree  
os.remove  
os.rmdir

它们都返回相同的错误。


阅读 213

收藏
2020-12-20

共1个答案

小编典典

即使将文件和目录设置为“只读”,即使我们刚刚复制了文件和目录,我们也遇到了问题。shutil.rmtree()为您提供某种异常处理程序来处理这种情况。您调用它并提供一个异常处理程序,如下所示:

import errno, os, stat, shutil

def handleRemoveReadonly(func, path, exc):
  excvalue = exc[1]
  if func in (os.rmdir, os.remove) and excvalue.errno == errno.EACCES:
      os.chmod(path, stat.S_IRWXU| stat.S_IRWXG| stat.S_IRWXO) # 0777
      func(path)
  else:
      raise

shutil.rmtree(filename, ignore_errors=False, onerror=handleRemoveReadonly)

您可能想尝试一下。

2020-12-20