В Python при запуске shutil.rmtree
над папкой, содержащей файл только для чтения, выводится следующее исключение:
File "C:\Python26\lib\shutil.py", line 216, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "C:\Python26\lib\shutil.py", line 216, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "C:\Python26\lib\shutil.py", line 216, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "C:\Python26\lib\shutil.py", line 216, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "C:\Python26\lib\shutil.py", line 216, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "C:\Python26\lib\shutil.py", line 216, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "C:\Python26\lib\shutil.py", line 216, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "C:\Python26\lib\shutil.py", line 221, in rmtree
onerror(os.remove, fullname, sys.exc_info())
File "C:\Python26\lib\shutil.py", line 219, in rmtree
os.remove(fullname)
WindowsError: [Error 5] Access is denied: 'build\\tcl\\tcl8.5\\msgs\\af.msg'
Просматривая диалоговое окно «Свойства файла», я заметил, что файл af.msg
установлен только для чтения.
Таким образом, вопрос заключается в следующем: что такое самый простой обходной путь / исправление, чтобы обойти эту проблему - учитывая, что я намерен сделать эквивалент rm -rf build/
, но на Windows? (без использования сторонних инструментов, таких как unxutils или cygwin - так как этот код предназначен для запуска на чистой установке Windows с Python 2.6 с установленным PyWin32)