我最近遇到了这个麻烦:我需要一个删除Windows中完全文件夹的功能,所以我搜索了这就是我得到的:
How do I remove/delete a folder that is not empty with Python? empty-with-python
答案,看起来还不错,对我来说似乎有点混乱和大...应该有一个更好的方法来解决使用shutil.rmtree在Windows中访问文件时的错误(尝试访问只读文件时出错)...
答案 0 :(得分:5)
我想分享一种适合我的简单方法。
我刚刚创建了一个更改文件写入权限模式的函数,然后用os.remove
删除它:
import stat # needed for file stat
# arguments: the function that failed, the path
# it failed on, and the error that occurred.
def redo_with_write(redo_func, path, err):
os.chmod(path, stat.S_IWRITE)
redo_func(path)
然后在使用rmtree
时,将其添加到onerror
参数:
import shutil
shutil.rmtree(desiredpath, onerror = redo_with_write)
希望对我遇到同样麻烦的人有帮助。