본문 바로가기
프로그래밍/Python

[Python] os와 shutil 모듈을 사용하여 파일 삭제(제거), 폴더 삭제(제거) 하기

by 부자 꽁냥이 2022. 5. 7.

파이썬(Python)으로 파일, 폴더 복사뿐 아니라 삭제도 할 수 있다. 이번 포스팅에서는 shutil과 os 모듈을 이용하여 파일, 폴더 삭제하는 방법에 대해서 알아본다.

 

- 목차 -

1. os 모듈을 이용한 파일 삭제(제거)

2. os 모듈을 이용한 폴더 삭제(제거) feat. shutil


   1. os 모듈을 이용한 파일 삭제(제거)

os.remove를 사용하면 파일을 제거할 수 있다. 사용법은 제거할 파일(위치+파일명)을 넣어주면 된다.

 

import os

# 파일 삭제
remove_file_path = '../test_folder/folder1/sample_02.txt' # 제거할 파일
os.remove(remove_file_path)

 

만약 없는 파일을 제거하려고 하면 다음과 같은 FileNotFoundError를 발생시킨다.

 

os.remove는 없는 파일을 제거하려고 하면 에러가 발생한다.


   2. os 모듈을 이용한 폴더 삭제(제거) feat. shutil

- os.removedirs로 빈 폴더 삭제 -

os.removedirs를 이용하여 빈 폴더(Empty Folder)를 제거할 수 있다. 즉 파일을 포함하는 폴더는 삭제가 안된다.

 

import os

remove_folder = '../test_folder/folder2'
os.removedirs(remove_folder)

 

만약 파일을 포함하는 폴더를 삭제한다고 하면 아래와 같은 OSError를 발생시킨다.

 

os.removedirs는 빈 폴더만 삭제할 수 있다.

- shutil.rmtree로 (파일을 포함한) 폴더 삭제 -

파일을 포함하는 폴더를 삭제한다고 하면 shutil.rmtree를 이용하면 된다. 사용법은 os.removedirs와 똑같다.

 

import shutil

remove_folder = '../test_folder/folder2'
shutil.rmtree(remove_folder)

 

 



댓글


맨 위로