본문 바로가기
파이썬 공부

파이썬[Python] 폴더가 없으면 생성하는 방법 5가지 (create directory)

by 파이썬코딩대학 2024. 8. 4.

Python 폴더 없으면 생성하는 방법 5가지

안녕하세요! 오늘은 Python을 이용해 폴더가 없으면 생성하는 방법을 알려드릴게요. 초급 개발자분들도 쉽게 따라할 수 있도록 차근차근 설명드릴게요.😊

python 폴더 없을때 생성하는 방법 5가지

1. os 모듈을 사용한 폴더 생성 방법

가장 기본적으로 많이 사용하는 방법이에요. Python의 내장 모듈인 os를 사용해 폴더를 생성하는 방법을 알아볼까요?

import os

# 생성하려는 폴더 경로 지정
folder_path = "example_folder"

# 폴더가 존재하지 않으면 생성
if not os.path.exists(folder_path):
    os.makedirs(folder_path)
    print(f"{folder_path} 폴더가 생성되었습니다.")
else:
    print(f"{folder_path} 폴더가 이미 존재합니다.")

 

간단하죠? os.path.exists()를 사용해 폴더의 존재 여부를 확인하고, os.makedirs()로 폴더를 생성해요.

2. pathlib 모듈을 사용한 폴더 생성 방법

Python 3.4부터 추가된 pathlib 모듈을 사용하면 더욱 간편하게 폴더를 생성할 수 있어요.

from pathlib import Path

# 생성하려는 폴더 경로 지정
folder_path = Path("example_folder")

# 폴더가 존재하지 않으면 생성
if not folder_path.exists():
    folder_path.mkdir(parents=True, exist_ok=True)
    print(f"{folder_path} 폴더가 생성되었습니다.")
else:
    print(f"{folder_path} 폴더가 이미 존재합니다.")

 

Path 객체를 사용해 경로를 지정하고, mkdir() 메서드로 폴더를 생성해요. parents=True 옵션은 중간 경로도 함께 생성해준답니다.

3. try-except 문을 사용한 폴더 생성 방법

예외 처리를 통해 폴더 생성 중 발생할 수 있는 오류를 처리하는 방법도 있어요.

 
import os

folder_path = "example_folder"

try:
    os.makedirs(folder_path)
    print(f"{folder_path} 폴더가 생성되었습니다.")
except FileExistsError:
    print(f"{folder_path} 폴더가 이미 존재합니다.")

 

이 방법은 폴더가 이미 존재할 경우 발생하는 FileExistsError를 처리해요.

4. shutil 모듈을 사용한 폴더 생성 방법

파일 및 디렉터리 작업을 위한 shutil 모듈을 사용해 폴더를 생성하는 방법도 있어요.

 

import shutil

folder_path = "example_folder"

# 폴더가 존재하지 않으면 생성
if not os.path.exists(folder_path):
    shutil.os.makedirs(folder_path)
    print(f"{folder_path} 폴더가 생성되었습니다.")
else:
    print(f"{folder_path} 폴더가 이미 존재합니다.")

 

shutil 모듈은 주로 파일 및 디렉터리 복사, 이동에 사용되지만, 폴더 생성에도 활용할 수 있답니다.

5. tempfile 모듈을 사용한 임시 폴더 생성 방법

임시 폴더가 필요한 경우에는 tempfile 모듈을 사용할 수 있어요.

 

import tempfile

# 임시 폴더 생성
temp_folder = tempfile.TemporaryDirectory()
print(f"임시 폴더가 생성되었습니다: {temp_folder.name}")

# 임시 폴더는 자동으로 삭제됨

 

임시 폴더는 자동으로 삭제되기 때문에 임시 파일 작업에 유용해요.

이렇게 5가지 방법을 알아봤어요. 각 방법마다 장단점이 있으니 상황에 맞게 선택해 사용해 보세요. 😊

 

더 궁금한 사항이 있으시면 언제든지 댓글을 통해 알려주세요! 😊