Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 디렉터리를 재귀적으로 생성하는 방법

Python으로 디렉터리를 재귀적으로 생성하기

Python에서 존재하지 않는 상위 폴더까지 한 번에 만들려면 os.makedirs() 함수를 사용하면 됩니다. 이 함수는 지정한 경로에 필요한 모든 중간 디렉터리를 자동으로 순차 생성해 주므로, 폴더를 하나씩 직접 만들 필요가 없습니다.

기본 사용법

import os
os.makedirs('my_folder/another/folder', exists_ok=True)

위 코드를 실행하면 my_folder, 그 안의 another, 그리고 다시 그 안의 folder까지 세 개의 디렉터리가 한 번에 생성됩니다.

exists_ok=True 옵션이 필요한 이유

os.makedirs()는 생성하려는 최종 디렉터리가 이미 존재하면 기본적으로 FileExistsError를 발생시킵니다. 이때 exists_ok=True 옵션을 지정하면 폴더가 이미 있어도 오류 없이 그대로 통과되므로, 스크립트를 여러 번 실행해도 안전하게 동작합니다.

생성 결과 확인하기

디렉터리가 실제로 만들어졌는지 확인하려면 os.path.isdir()을 활용할 수 있습니다.

import os

os.makedirs('my_folder/another/folder', exist_ok=True)

# 디렉터리 생성 여부 확인
print(os.path.isdir('my_folder/another/folder')) # True

참고 사항

  • exist_ok 매개변수는 Python 3.2 이상에서 사용할 수 있습니다.
  • 최신 스타일의 코드를 선호한다면 pathlib 모듈을 사용할 수도 있습니다.
    from pathlib import Path
    Path('my_folder/another/folder').mkdir(parents=True, exist_ok=True)