Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python에서 디렉토리(폴더)를 삭제하는 방법 완벽 가이드

Python에서 디렉토리(폴더)를 삭제해야 할 때는 상황에 따라 적절한 방법을 선택하는 것이 중요합니다. 폴더가 비어 있는지, 아니면 내부에 파일이나 하위 폴더가 포함되어 있는지에 따라 사용해야 하는 함수가 달라집니다.

1. 빈 디렉토리 삭제하기: os.rmdir()

비어 있는 폴더를 삭제하려면 os 모듈의 rmdir() 함수를 사용하면 됩니다. 이 함수는 대상 폴더가 비어 있을 때만 정상적으로 작동하며, 내부에 파일이 하나라도 남아 있으면 OSError가 발생합니다.

예제 코드

>>> import os
>>> os.rmdir('my_folder')

2. 파일이 포함된 디렉토리 삭제하기: shutil.rmtree()

내부의 모든 파일과 하위 폴더까지 한 번에 삭제하고 싶다면 shutil 모듈의 rmtree() 함수를 사용하세요. 이 함수는 지정한 디렉토리와 그 안의 전체 내용을 재귀적으로 제거합니다.

예제 코드

>>> import shutil
>>> shutil.rmtree('my_folder')

주의 사항

rmtree()는 복구가 불가능하므로 실행 전에 삭제할 경로가 올바른지 반드시 확인해야 합니다. 실수로 중요한 데이터를 삭제하지 않도록, 필요하다면 다음과 같이 경로 존재 여부를 먼저 검사하는 것이 좋습니다.

>>> import os, shutil
>>> if os.path.exists('my_folder'):
...     shutil.rmtree('my_folder')

또한 Python 3.4 이상에서는 pathlib 모듈을 활용해 객체 지향적인 방식으로 빈 폴더를 삭제할 수도 있습니다.

>>> from pathlib import Path
>>> Path('my_folder').rmdir()

요약하자면, 빈 폴더os.rmdir(), 파일이 들어 있는 폴더shutil.rmtree()를 사용하는 것이 기본 규칙입니다. 상황에 맞는 함수를 선택하면 안전하고 효율적으로 디렉토리를 관리할 수 있습니다.