파이썬/Code Solution

[Code Solution] 폴더(디렉토리) 생성하기

컴공돌이​ 2022. 6. 21. 12:29

폴더(디렉토리) 생성하기

os 라이브러리에서 제공하는 함수를 사용하여 폴더(디렉토리)를 생성해보겠습니다.

os 라이브러리는 파이썬에 기본적으로 내장되어 있는 라이브러리로, 폴더 생성, 파일 유무 확인등 다양한 함수를 제공하고 있습니다.

os 라이브러리에서 폴더(디렉토리)를 생성하는데 사용되는 함수는 크게 2가지가 있습니다.

mkdir() 함수는 내부에 입력된 경로로 들어가서 1개의 폴더를 생성하는 함수이고, makedirs() 함수도 마찬가지로 입력된 경로의 모든 폴더를 생성하는 함수입니다.

좀더 간단하게 예를 들어보겠습니다.

mkdir("./new_folder_A")를 실행시킨다면 폴더가 정상적으로 생성될 것입니다.

하지만 만약 new_folder_A가 없는 상태에서 mkdir("./new_folder_A/new_folder_B")를 실행한다면 에러가 발생합니다.

mkdir() 함수는 입력된 경로로 들어가서 폴더를 생성하는 함수인데 들어가야할 경로가 존재하지 않기 때문입니다.

따라서 이러한 상황에서는 makedirs() 함수를 사용해야 합니다.

makedirs("./new_folder_A/new_folder_B")를 실행하면 new_folder_A가 생성되고 생성된 폴더 안에 new_folder_B가 생성될 것입니다.

makedirs() 함수는 경로 이외에 exist_ok 라는 하이퍼파라미터도 설정해주어야 합니다.

exist_ok가 False로 되어있다면 입력된 경로가 이미 존재할 때 에러가 발생합니다.

따라서 가능하면 exist_ok는 True로 설정해주는 것이 좋습니다.

import os

os.mkdir("./new_folder_A")	# 정상적으로 실행
os.mkdir("./new_folder_A/new_folder_B")	# new_folder_A가 없는 상태라면 Error 발생

os.makedirs("./new_folder_A/new_folder_B", exist_ok=True)	# 정상적으로 실행
os.makedirs("./new_folder_A/new_folder_B", exist_ok=False) 	# new_folder_A가 있는 상태라면 Error 발생

python version: 3.7.13

반응형