У меня есть набор тестов Python, который создает и удаляет много временных файлов. В Windows 7 операции shutil.rmtree иногда не выполняются (
Это также похоже на проблему синхронизации между двумя потоками или процессами, но здесь также нет параллелизма.
Два примера (частичной) трассировки стека:
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 для действительно трудолюбивого.