gpt4 book ai didi

python - shutil.rmtree 删除只读文件

转载 作者:太空狗 更新时间:2023-10-29 16:53:31 27 4
gpt4 key购买 nike

我想在 Python 中使用 shutil.rmtree 来删除目录。有问题的目录包含一个 .git 控制目录,git 将其标记为只读和隐藏。

只读标志导致 rmtree 失败。在 Powershell 中,我会执行“del -force”以强制删除只读标志。 Python 中是否有等效项?我真的不想遍历整棵树两次,但是 rmtree 的 onerror 参数似乎不会重试该操作,所以我不能使用

def set_rw(operation, name, exc):
os.chmod(name, stat.S_IWRITE)

shutil.rmtree('path', onerror=set_rw)

最佳答案

经过更多调查,以下内容似乎有效:

def del_rw(action, name, exc):
os.chmod(name, stat.S_IWRITE)
os.remove(name)
shutil.rmtree(path, onerror=del_rw)

也就是说,实际上是在onerror函数中删除文件。 (您可能需要检查 onerror 处理程序中的目录并在这种情况下使用 rmdir - 我不需要那个,但它可能只是我的问题的具体内容。

关于python - shutil.rmtree 删除只读文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21261132/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com