在Python中运行shutil.rmtree(d)后,权限被拒绝执行os.mkdir(d)

在Python中运行shutil.rmtree(d)后,权限被拒绝执行os.mkdir(d),第1张

在Python中运行shutil.rmtree(d)后,权限被拒绝执行os.mkdir(d)

我想到了三件事:

  1. Windows本身会延迟某些文件 *** 作以保留元数据。例如,如果您重命名文件并在其位置创建另一个文件,则Windows会在一个时间窗口中将诸如ACL之类的内容传输到新文件中。这是一个“功能”,即使在删除旧文件之前写入新文件的程序中也保留了此元数据,以便在中间出现故障时不会丢失数据。

  2. 恶意软件扫描程序有时会涉入文件系统 *** 作并执行文件扫描,以搜索恶意软件(或政府批判性文本,如果您偏执狂,甚至可能不是偏执狂)。在该扫描过程中,对文件的某些其他访问被阻止。

  3. 最后,我不确定如何

    shutil.rmtree()
    实现,但是在Windows下,某些树 *** 作实际上不是由OS内核而是由外壳程序(即Explorer)实现的,并且它们可以异步执行,这将解释一个很短的时间窗口即使调用已经返回,路径仍然被阻塞。

我认为,例如Subversion或Apache Portable
Runtime偶然发现了同一问题,并通过延迟重试来解决该问题。这种解决方案没有赢得选美比赛,但似乎可以胜任工作。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5647728.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存