Python에서 디렉토리 전체를 삭제하는 방법
Python에서 폴더와 그 안에 포함된 모든 파일 및 하위 디렉토리까지 한 번에 삭제하려면 shutil 모듈의 rmtree() 함수를 사용하면 됩니다. 이 함수는 대상 디렉토리가 비어 있지 않더라도 재귀적으로 모든 내용을 제거합니다.
1. 파일이 있는 디렉토리 삭제하기 — shutil.rmtree()
삭제하려는 폴더 내부에 파일이나 다른 폴더가 있어도 상관없습니다. 아래 코드처럼 shutil.rmtree()를 호출하면 해당 폴더와 모든 하위 내용이 함께 삭제됩니다.
>>> import shutil
>>> shutil.rmtree('my_folder')
주의: rmtree()는 복구가 불가능하므로, 실행 전에 삭제할 경로가 올바른지 반드시 확인하세요.
2. 빈 디렉토리 삭제하기 — os.rmdir()
반대로 폴더가 완전히 비어 있는 경우에는 os 모듈의 rmdir() 함수를 사용할 수 있습니다. 이 함수는 폴더 안에 파일이 하나라도 남아 있으면 OSError를 발생시킵니다.
>>> import os
>>> os.rmdir('my_folder')
정리
- 파일이 있는 디렉토리까지 삭제:
shutil.rmtree()사용 - 빈 디렉토리만 삭제:
os.rmdir()사용
두 함수의 차이를 잘 기억해 두면 상황에 맞는 적절한 방법을 선택하는 데 도움이 됩니다.