当前位置: 首页 > 面试题库 >

shutil.rmtree删除只读文件

骆利
2023-03-14
问题内容

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

只读标志导致rmtree失败。在Powershell中,我将执行“ del
-force”来强制删除只读标志。Python中是否有等效功能?我真的不希望遍历整棵树两次,但是onerrorrmtree的参数似乎没有重试该操作,因此我不能使用

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-
我并不需要它,但这可能只是我的问题所特有的。



 类似资料:
  • 如何从Windows文件夹下的所有文件中删除只读属性? 更新:更多的问题是关于如何删除只读属性使用gupfile

  • 问题内容: 我需要使用Java中的Selenium WebDriver 编辑一些字段。由于Selenium甚至不允许我找到该字段,因此我搜索了解决方案,发现最简单的方法可能是使用带有JavaScript Executor 的JavaScript代码段删除属性。 尽管此代码段可从Firefox控制台运行,但已成功从所有输入中删除了该属性,但在Selenium中引发了异常。 JavaScript执行器

  • 以下是我的骡子配置。 http://www.mulesoft.org/schema/mule/test http://www.mulesoft.org/schema/mule/test/3.6/mule-test.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/3.6/mul

  • 我正在运行带有多进程索引的蜘蛛,我想解决这个问题。 我总是收到太多的请求,是否有一个配置可以更改,以允许处理并发请求的阈值更大? 这是全部错误 更新:发现洪水磁盘水印超过,但似乎没有超过! df命令的输出

  • 问题内容: 如何删除Java中文件的内容? 问题答案: 这个怎么样:

  • 我使用windows attrib命令删除目录只读属性,然后像这样设置它: 问题是为什么从命令行中删除只读属性后,我仍然在目录属性对话框中看到它(右键单击windows资源管理器并选择属性)。

  • 本文向大家介绍Python脚本去除文件的只读性操作,包括了Python脚本去除文件的只读性操作的使用技巧和注意事项,需要的朋友参考一下 如何在PYTHON中移去文件的只读属性, 用chmod命令stat.S_IWRITE 如去除文件 补充知识:python+selenium:web端关闭时间控件readonly属性,可直接输入时 下面提供4种:移除或者关闭web端时间控件的readonly属性的方

  • 我目前正在开发一个基于JavaMail的解决方案,它从特定文件夹(收件箱)中检索电子邮件,执行一些处理,将它们移动到另一个文件夹(已处理),最后从第一个文件夹中删除它们。 由于某些性能要求,我使用了调度程序/处理器方法,其中一个线程(调度程序)检索一组UID,并产生许多独立的线程(工作人员),这些线程检索调度程序读取的UID的电子邮件。邮件处理完毕后,调度线程会将邮件复制到已处理文件夹,并从收件箱