Python - 파일, 폴더 삭제

By JS | Last updated: June 21, 2021

파이썬에서 파일 또는 폴더 삭제 방법을 소개합니다.

1. 파일 삭제: os.remove()

os.remove()로 파일을 삭제할 수 있습니다.

삭제하기 전에 먼저 파일이 존재하는지 exists()로 확인할 수 있습니다.

import os

file_path = "/tmp/test_3225281795536908985.tmp"

if os.path.exists(file_path):
    os.remove(file_path)

2. 폴더 삭제: os.rmdir()

os.rmdir()는 비어있는 폴더를 삭제할 수 있습니다.

폴더 안에 파일이 1개라도 있다면 삭제가 실패합니다.

비어있는 폴더

/tmp/temp_dir은 비어있는 폴더입니다. 아래 코드는 정상적으로 폴더를 삭제하고 종료됩니다.

import os

dir_path = "/tmp/temp_dir"

if os.path.exists(dir_path):
    os.rmdir(dir_path)

파일이 있는 폴더

/tmp/temp_dir2는 안에 파일 1개를 갖고 있는 폴더입니다.

아래 코드를 실행하면 Directory not empty 에러가 리턴되면서 삭제 실패합니다.

import os

dir_path = "/tmp/temp_dir2"

if os.path.exists(dir_path):
    os.rmdir(dir_path)

Output:

/usr/bin/python3.8 /home/mjs/IdeaProjects/python-examples/delete_file_dir.py
Traceback (most recent call last):
  File "/home/mjs/IdeaProjects/python-examples/delete_file_dir.py", line 22, in <module>
    os.rmdir(dir_path)
OSError: [Errno 39] Directory not empty: '/tmp/temp_dir2'

폴더와 그 안의 파일 모두 삭제: shutil.rmtree()

shutil.rmtree()는 폴더 안의 파일과 폴더를 모두 삭제합니다.

폴더를 삭제할 때 폴더가 비어있는지 고려하지 않아도 됩니다.

import os
import shutil

dir_path = "/tmp/temp_dir2"

if os.path.exists(dir_path):
    shutil.rmtree(dir_path)

References

Related Posts

댓글을 보거나 쓰려면 이 버튼을 눌러주세요.
codechachaCopyright ©2019 codechacha