python - Windows 7下的片状文件删除?

标签 python windows-7

我有一个 Python 测试套件,可以创建和删除许多临时文件。在 Windows 7 下,shutil.rmtree 操作有时会失败(<1% 的时间)。失败显然是随机的,并不总是在相同的文件上,也不总是以相同的方式发生,但它总是在 rmtree 操作上。这似乎是某种时间问题。这也让人想起 Windows 7 对权限和管理员权限的警惕性提高,但这里没有权限问题(因为代码刚刚创建了文件),并且没有管理员权限。

它看起来也像是两个线程或进程之间的时间问题,但这里也没有并发。

(部分)堆栈跟踪的两个示例:

  File "C:\ned\coverage\trunk\test\test_farm.py", line 298, in clean
    shutil.rmtree(cleandir)
  File "c:\python23\lib\shutil.py", line 142, in rmtree
    raise exc[0], (exc[1][0], exc[1][1] + ' removing '+arg)
WindowsError: [Errno 5] Access is denied removing xml_1

  File "C:\ned\coverage\trunk\test\test_farm.py", line 298, in clean
    shutil.rmtree(cleandir)
  File "c:\python23\lib\shutil.py", line 142, in rmtree
    raise exc[0], (exc[1][0], exc[1][1] + ' removing '+arg)
WindowsError: [Errno 3] The system cannot find the path specified removing out

在 Windows XP 上,它从未失败过。在 Windows 7 上,它在几个不同的 Python 版本(2.3-2.6,不确定 3.1)上像这样失败。

有人见过这样的事情并有解决方案吗?代码本身在 bitbucket 上对于真正勤奋的人。

最佳答案

希望不大,但是您是否在后台运行任何扫描目录的程序?我在考虑防病毒/备份(也许 Windows 7 内置了类似的东西?我不知道)。从 TortoiseSVN 启动的 TSVNCache.exe 进程中删除/移动文件时,我偶尔会遇到故障——似乎它会监视目录的变化,然后可能会打开它们以扫描文件。

关于python - Windows 7下的片状文件删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2037376/

相关文章:

python - OpenCV匹配图像上的多个帧

c++ - 在 C++ 中嵌入 python 代码(Windows + minGW + Python 2.7.2 + Eclipse)

python - Django 获取多个 ID 的对象

vbscript - 进程的内存利用率

python - 基于 Python 3.9 的软件无法在 Windows 7 上运行

linux - 如何在主机上的 VMware Workstation 7.1.6 上安装 VMware Tools

Ctrl + Shift +零的WPF KeyBinding Guesture不起作用

windows-7 - 如何使用 Windows 7 中的自动运行从闪存驱动器打开网页?

python - Django-在运行服务器中指定 url

python - 在 Python 字典中为变量分配 True 元素的键名?