我试图让 python 删除一些目录,但出现访问错误。我认为是python用户帐户没有权限?
WindowsError: [Error 5] Access is denied: 'path'
是我运行脚本时得到的结果。
我试过了
shutil.rmtree
os.remove
os.rmdir
它们都返回相同的错误。
我们在删除 Windows 上的文件和目录时遇到问题,即使我们刚刚复制了它们,如果它们设置为“只读”。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)
你可能想尝试一下。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)