【问题标题】:shutil.rmtree fails because file has \\?\ in pathshutil.rmtree 失败,因为文件在路径中有 \\?\
【发布时间】:2019-05-09 17:22:50
【问题描述】:

我正在编写一个 Python 脚本来搜索存档文件夹并删除我不再需要的备份文件夹。这是适用于 Windows 的。

我正在使用

shutil.rmtree(myPath, True)

删除我的文件夹。该命令能够删除大部分数据,但留下一些文件。我检查了一下,他们都有 \?\ 作为他们路径的开始。

我该如何解决这个问题?

【问题讨论】:

  • 包括一些示例路径,以便我们确认它们是有效的语法。在一些失败的文件上检查os.path.exists,以确认它们仍然存在并且可以访问。
  • 路径都显示为 \\?\X:\myPath\filename 文件在文件浏览器中可见但无法打开。使用 os.path.exists 返回 false
  • 驱动器“X:”上是否只有它们?你能用 Python 打开这个驱动器上的任何东西吗?
  • rmtree 能够删除每个文件夹中大约 98% 的文件。只有少数文件存在此问题
  • @MichaelS 我已经删除了你的“答案”。问题主体用于问题。如果您找到答案,请照此发布;回答你自己的问题很好。

标签: python windows delete-directory


【解决方案1】:

原来我无法删除这些文件,因为完整路径太长了。通过重命名路径中的一些文件夹,我可以像往常一样访问和删除文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    • 2014-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多