14
shutil.rmtree
을 Python에서 사용하여 디렉토리를 제거하고 싶습니다. 문제의 디렉토리는 .git
제어 디렉토리를 포함하며, git은 읽기 전용으로 표시되고 숨겨집니다.shutil.rmtree 읽기 전용 파일을 제거합니다
읽기 전용 플래그로 인해 rmtree
이 실패합니다. Powershell에서는 "del -force"를 사용하여 읽기 전용 플래그를 강제로 제거합니다. 파이썬에 상응하는 것이 있습니까? 난 정말이 아니라 두 번 전체 트리를 걸을 싶지만, rmtree에 onerror
인수 작업을 다시 시도하지 않는 것, 그래서 더 조사 후
def set_rw(operation, name, exc):
os.chmod(name, stat.S_IWRITE)
shutil.rmtree('path', onerror=set_rw)
'onerror 'callback? –
.git은 읽기 전용입니다. – wim
.git 서브 디렉토리가 읽기 전용이기 때문에 onerror에서 전체 (재귀 적) rmtree를 수행해야하지만 작동하지 않을 수 있습니다. 숨겨진 및 readonly 아마도 dotfiles 표시하지 않는 유닉스 동작을 시뮬레이션 할 수 있습니다. 나는 행동이 끔찍한 생각합니다 (HG 않는이) 있지만 그것을 함께 살고 :-( –