os.mkdir은 파이썬에서 폴더를 생성할때 간단하게 사용할 수 있는 함수입니다.
mkdir을 사용해 폴더를 생성하는 방법, 또는 여러개 폴더를 생성하는 방법을 알아보도록 하겠습니다.
os.mkdir 폴더 생성
mkdir를 사용하기 위해서는 먼저 os 모듈을 임포트해야합니다.
mkdir함수에는 절대 경로 또는 상대 경로와 함께 생성하고 싶은 폴더명을 지정합니다.
os.mkdir 작성 방법
import os
os.mkdir(경로)
만약 mkdir에 지정한 경로가 존재하지 않는 경우에는 [FileNotFoundError] 에러가 발생합니다.
본격적으로 폴더를 생성하는 방법을 보도록 하겠습니다.
dir 폴더 밑에 tmp라는 폴더를 만드는 예제를 보겠습니다.
폴더 생성 예제
import os
path = './dir/tmp'
os.mkdir(path)
tmp라는 폴더가 만들어졌습니다.
여러개 폴더 생성
복수의 폴더를 만들고 싶은 경우도 있습니다.
이러한 경우에는 리스트를 사용하면 편리하게 만들 수 있습니다.
여러개 폴더 생성 예제
import os
pass_list = ['./dir/tmp1', './dir/tmp2', './dir/tmp3',]
for path in pass_list:
os.mkdir(path)
리스트를 사용하는 것으로 여러개 폴더를 간단하게 작성할 수 있습니다.
os.makedirs 사용 방법
makedirs는 폴더를 재귀적으로 사용하고 싶은 경우에 사용합니다.
mkdir로 폴더를 생성할때 지정한 경로가 존재하지 않으면 [FileNotFoundError] 에러가 발생했습니다.
하지만 makedirs를 사용하면 경로가 없는 경우 중간에 지정한 폴더를 생성합니다.
예를 들어 dir/sub_dir/tmp1을 실행했을때, sub_dir이라는 폴더가 존재하지 않으면 mkdir 함수의 경우에는 에러가 발생하지만 makedirs의 경우에는 sub_dir이라는 폴더도 생성을 합니다.
mkdir 경로 예제
import os
path = './dir/sub_dir/tmp1'
os.mkdir(path)
FileNotFoundError 에러가 발생.
makedirs 경로 예제
import os
path = './dir/sub_dir/tmp1'
os.makedirs(path)
sub_dir과 tmp1 폴더를 생성합니다.
주의점으로는 makedirs에 지정한 폴더 중 마지막에 지정한 폴더가 이미 만들어져 있는 경우에는 에러가 발생합니다.
예제에서 지정한 tmp1 부분이 해당됩니다.
만약 존재하지 않는 경우 폴더를 생성하고 존재하는 경우에 에러로 표시하고 싶지 않은 경우에는 exist_ok를 설정해주면 됩니다.
exist_ok 예제
import os
path = './dir/sub_dir/tmp1'
os.makedirs(path, exist_ok=True)
exist_ok를 지정하면 폴더가 존재하지 않으면 생성하고, 존재하는 경우에는 아무것도 하지 않습니다.
에러 메세지도 표시하지 않습니다.
댓글