В 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)