▶ Python
파이썬 디렉토리 생성, 경로를 포함한 폴더생성, 경로생성
Cyber0946
2020. 7. 30. 19:04
파이썬을 이용해 리눅스의 mkdir -p 처럼 부모가 된는 경로를 포함해서 폴더를 생성하는 방법에 대해 알아보자.
이때 os.mkdir()과 os.path.isdir() , os.path.dirname() 3가지 함수를 활용한다.
코드는 아래와 같다.
import os
def mkdir_p(directory):
"""Like mkdir -p ."""
if not directory:
return
if directory.endswith("/"):
mkdir_p(directory[:-1])
return
if os.path.isdir(directory):
return
print(os.path.dirname(directory))
mkdir_p(os.path.dirname(directory))
#os.path.dirname(directory)를 하면 상위 폴더 경로로 올라감
print("Start")
print(directory)
os.mkdir(directory)
코드의 동작은 다음과 같이 진행되는데, 먼저 예를 들어서 mkdir_p("1111/111/11/1")이 명령으로 주어졌다고 하면, 먼저
매개변수로 받아온 경로를 os.path.dirname()을 통해서 상위 경로를 계속 반환하고 최종적으로 공백을 반환하게 되면,
가장 상위의 경로인 1111 부터 os.mkdir()을 수행해서 만들고 그 다음 1111/111을 만들고 그 다음 1111/111/11 마지막으로 1111/111/11/1 이 된다.