본문 바로가기
Python/파이썬 문법, 함수, 모듈 등

[Python] 파일, 폴더 관련된 모듈과 함수들 os, makedirs(), os.path.join(), shutil, exists(), remove(), listdir()

by dong_su 2024. 5. 28.

폴더 생성하는 방법

폴더를 생성하는 방법은 os.makedirs() 함수를 사용합니다. 이 함수는 하위 디렉토리를 모두 생성하며, exist_ok=True 옵션을 주면 이미 폴더가 존재해도 오류를 내지 않고 넘어갑니다.

import os

# 현재 경로에서 a폴더, 그 하위에 b폴더, 그 하위에 log폴더 생성
os.makedirs('./a/b/log', exist_ok=True)

경로 합치는 함수

파일 경로를 합치는 함수로는 os.path.join() 함수를 사용합니다. 이 함수는 운영체제에 맞게 경로를 연결해줍니다.

import os

output_folder_path = './output'
file_name = 'result.txt'

# 경로와 파일명을 합쳐서 전체 경로 생성
full_path = os.path.join(output_folder_path, file_name)
print(full_path)  # './output/result.txt'

파일 복사 함수

파일을 복사하는 함수로는 shutil.copy() 함수를 사용합니다. 기존 경로에도 파일은 남아 있습니다.

import shutil

# 파일 복사
shutil.copy('원본파일.txt', '새로운위치/이동된파일.txt')

파일 이동 함수

파일을 이동하는 함수로는 shutil.move() 함수를 사용합니다. 기존 경로에 있던 파일은 삭제됩니다.

import shutil

# 파일 이동
shutil.move('이동할파일.txt', '이동할위치/새로운이름.txt')

파일 삭제

파일을 삭제하는 함수로는 os.remove() 함수를 사용합니다.

import os

file_name = '삭제할파일.txt'

# 파일 삭제
os.remove(file_name)

주어진 경로에 파일 또는 디렉토리가 존재하는지 여부 (bool타입 반환)

import os

file_path = 'example.txt'

if os.path.exists(file_path):
    print(f"{file_path} 파일이 존재합니다.")
else:
    print(f"{file_path} 파일이 존재하지 않습니다.")

주어진 경로가 디렉토리인지 여부를 확인 (bool타입 반환)

import os

dir_path = './example_dir'

if os.path.isdir(dir_path):
    print(f"{dir_path}는 디렉토리입니다.")
else:
    print(f"{dir_path}는 디렉토리가 아닙니다.")

추가로 알면 좋은 함수

  • os.listdir(): 지정된 디렉토리 내의 파일 및 디렉토리 목록을 반환합니다.
  • os.walk(): 지정된 디렉토리 및 하위 디렉토리를 순회하면서 파일을 검색합니다.
  • shutil.rmtree(): 디렉토리와 하위 디렉토리를 모두 삭제합니다.
  • os.path.isfile(): 주어진 경로가 파일인지 여부를 확인합니다.
  • os.path.isdir(): 주어진 경로가 디렉토리인지 여부를 확인합니다.