Python을 사용하여 파일 및 디렉터리를 삭제하는 방법
-
Python에서
os
모듈을 사용하여 파일 삭제 -
Python에서
pathlib
모듈을 사용하여 파일 삭제 - Python에서 패턴 일치를 사용하여 파일 삭제
-
Python
os
모듈을 사용하여 디렉토리 삭제 -
Python
pathlib
모듈을 사용하여 디렉토리 삭제 -
Python
shutil.rmtree
메서드를 사용하여 비어 있지 않은 디렉터리 삭제
이 기사에서는 os
,pathlib
,shutil
과 같은 Python 내장 패키지로 파일과 디렉토리를 삭제하는 방법을 소개합니다.
Python에서 os
모듈을 사용하여 파일 삭제
os
는 Python 2와 Python 3에서 모두 사용할 수있는 내장 패키지입니다.
os
모듈에서remove()
와 unlink()
를 사용하여 Python을 사용하여 파일을 삭제할 수 있습니다. 이 두 기능은 모두 유사합니다. 둘 다 삭제할 파일의 경로를 인수로 사용합니다.
import os
os.remove("test_dir/main.py")
test_dir
안에있는main.py
라는 파일을 삭제합니다. 여기서 상대 경로를 사용하고 있으므로test_dir
은 Python 프로그램과 동일한 루트 폴더에 있어야합니다. 절대 파일 경로를 사용할 수도 있습니다.
import os
os.unlink("test_dir/main.py")
또한test_dir
내에있는main.py
라는 파일도 삭제합니다.
두 기능 모두 파일을 삭제할 수만 있습니다. 삭제할 디렉토리의 경로를 제공하면 IsADirectoryError
오류가 발생합니다.
마찬가지로 지정된 경로에 파일이 없으면FileNotFoundError
가 발생합니다.
파일을 삭제할 권한이 없으면 PermissionError
오류가 발생합니다.
파일을 삭제하는 동안 이러한 오류를 해결하려면 예외 처리를 사용해야합니다.
import os
try:
os.remove("test_dir/main.py")
except OSError as e:
print(f"Error:{ e.strerror}")
출력:
Error:No such file or directory
그러한 파일이 없으면 전체 프로그램이 충돌하지 않고 출력에 오류가 인쇄됩니다.
Python에서pathlib
모듈을 사용하여 파일 삭제
pathlib
모듈을 사용하여 파일을 제거하려면 먼저pathlib
모듈에 정의 된Path
객체를 만듭니다. 그런 다음 unlink()
메서드를 사용하여 파일을 삭제합니다.
from pathlib import Path
filePath = Path("test_dir/main.py")
try:
filePath.unlink()
except OSError as e:
print(f"Error:{ e.strerror}")
여기서는 삭제할 파일의 위치로Path
클래스에서filePath
객체를 인스턴스화합니다.
pathlib
모듈은 Python 3.4 이상에서만 사용할 수 있습니다. Python 2의 경우pip
를 사용하여 모듈을 설치해야합니다.
Python에서 패턴 일치를 사용하여 파일 삭제
glob
모듈을 사용하여 파일의 패턴을 일치시킬 수 있으며 패턴과 일치하는 모든 파일을 수집 한 후 위에 지정된 방법 중 하나를 사용하여 모든 파일을 삭제할 수 있습니다.
import os
import glob
py_files = glob.glob("test_dir/*.py")
for py_file in py_files:
try:
os.remove(py_file)
except OSError as e:
print(f"Error:{ e.strerror}")
그러면.py
확장자를 가진test_dir
디렉토리의 모든 파일이 삭제됩니다.
Python os
모듈을 사용하여 디렉토리 삭제
Python을 사용하여 디렉토리를 삭제하려면 os
,pathlib
및shutlib
디렉토리를 사용할 수 있습니다. os
와pathlib
는 빈 디렉토리 만 삭제할 수있는 반면shutlib
는 비어 있지 않은 디렉토리도 삭제할 수 있습니다.
import os
dirPath = "test_dir"
try:
os.rmdir(dirPath)
except OSError as e:
print(f"Error:{ e.strerror}")
현재 작업 디렉토리에서 빈 디렉토리test_dir
을 삭제합니다.
Python pathlib
모듈을 사용하여 디렉토리 삭제
디렉토리가 비어 있지 않으면이 방법을 사용하여 디렉토리를 제거 할 수 없습니다. 프로그램에서 Error : Directory not empty
라는 출력을 얻습니다.
비어 있지 않은 디렉토리를 제거하기 위해pathlib
모듈을 사용할 수도 있습니다.
from pathlib import Path
dirPath = Path("test_dir")
try:
dirPath.rmdir()
except OSError as e:
print(f"Error:{ e.strerror}")
또한 현재 작업 디렉토리에서 빈 디렉토리test_dir
을 삭제합니다.
Python shutil.rmtree
메서드를 사용하여 비어 있지 않은 디렉터리 삭제
Python을 사용하여 비어 있지 않은 디렉토리를 삭제하려면shutil
모듈에서rmtree
메소드를 사용합니다.
import shutil
dirPath = "test_dir"
try:
shutil.rmtree(dirPath)
except OSError as e:
print(f"Error:{ e.strerror}")
현재 작업 디렉토리와 모든 내용에서test_dir
디렉토리를 삭제합니다.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn관련 문장 - Python File
- 디렉토리의 모든 파일을 얻는 방법
- 파이썬에서 파일에 텍스트를 추가하는 방법
- 파이썬에 파일이 있는지 확인하는 방법
- 파이썬에서만 특정 확장자를 가진 파일을 찾는 방법
- 파이썬에서 파일에서 특정 줄을 읽는 방법
- Python에서 gzip 파일 읽기