我想shutil.rmtree在Python中使用删除目录.有问题的目录包含一个.git控制目录,git标记为只读和隐藏.
只读标志导致rmtree失败.在Powershell中,我会"强制"强制删除只读标志.Python中有相应的东西吗?我真的不想两次走完整棵树,但onerrorrmtree 的论据似乎没有重试这个操作,所以我不能用
def set_rw(operation, name, exc):
os.chmod(name, stat.S_IWRITE)
shutil.rmtree('path', onerror=set_rw)
Run Code Online (Sandbox Code Playgroud)
Pau*_*ore 26
经过更多调查,以下似乎有效:
def del_rw(action, name, exc):
os.chmod(name, stat.S_IWRITE)
os.remove(name)
shutil.rmtree(path, onerror=del_rw)
Run Code Online (Sandbox Code Playgroud)
换句话说,实际上删除了onerror函数中的文件.(您可能需要检查onerror处理程序中的目录并在这种情况下使用rmdir - 我不需要它,但它可能只是我的问题的具体内容.
| 归档时间: |
|
| 查看次数: |
11856 次 |
| 最近记录: |