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

파이썬(Python)으로 디렉토리(폴더)를 삭제하는 방법 완벽 정리

개요

파이썬에서 디렉토리(폴더)를 삭제하는 방법은 상황에 따라 달라집니다. 비어 있는 폴더인지, 아니면 파일이 들어 있는 폴더인지에 따라 사용하는 함수가 다르므로 각각의 방법을 정확히 이해하고 사용하는 것이 중요합니다.

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

비어 있는 폴더를 삭제하려면 os 모듈의 rmdir 함수를 호출하면 됩니다.

예제 코드

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

주의: 지정한 디렉토리가 비어 있지 않으면 OSError(Windows에서는 PermissionError 또는 Directory not empty 오류)가 발생합니다. 따라서 이 함수는 반드시 빈 폴더에만 사용해야 합니다.

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

내부에 파일이나 하위 폴더가 포함된 디렉토리를 통째로 삭제하려면 shutil 모듈의 rmtree 함수를 사용합니다. 이 함수는 대상 폴더와 그 안의 모든 내용을 재귀적으로 한 번에 제거합니다.

예제 코드

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

주의: rmtree로 삭제된 데이터는 휴지통으로 가지 않고 영구적으로 사라지므로, 실행 전에 경로를 반드시 확인하세요. 실수를 방지하려면 아래와 같이 존재 여부를 먼저 검사하는 것이 좋습니다.

import os
import shutil

folder = 'my_folder'
if os.path.exists(folder):
shutil.rmtree(folder)
else:
print('삭제할 폴더가 존재하지 않습니다.')

3. 참고: pathlib 모듈 활용하기

객체 지향 방식으로 경로를 다루고 싶다면 파이썬 3.4부터 제공되는 pathlib 모듈을 사용할 수도 있습니다.

>>> from pathlib import Path
>>> Path('my_folder').rmdir() # 빈 폴더만 삭제 가능

정리

  • 빈 폴더 삭제: os.rmdir() 또는 Path.rmdir()
  • 파일이 있는 폴더 전체 삭제: shutil.rmtree()

두 함수의 차이를 잘 기억해 두면 파일 시스템 작업 시 안전하고 효율적으로 디렉토리를 관리할 수 있습니다.