파이썬(python) 폴더 생성 방법

파이썬은 이제 정말 대중화된 프로그래밍 언어가 되었다. 고수준의 퍼포먼스를 요하는 프로세스나 업무가 아닌이상 단순한 작업을 자동화하는 데에는 이만한 프로그램이 없는 것 같다. 나 역시도 파이썬을 가지고 뭐 어려운 프로그래밍을 하진 않고, 리눅스서버에서 간단히 파일/폴더생성이나 웹크롤링 등 패턴화된 작업을 프로그래밍하는 수준이다.

폴더 생성

os.mkdir 명령어로 폴더를 생성할 수 있다. 파라메터에 원하는 폴더이름만 쓰면 된다. / 를 붙이지 않는다면, 상대경로로 인식하기 때문에 python 명령어를 실행하는 현재 위치에 폴더가 생긴다.

import os
os.mkdir('new-folder')

근데 한번 더 os.mkdir 을 실행하면 어떻게 될까? 이미 존재하는 파일이라며 오류가 발생한다.

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
FileExistsError: [Errno 17] File exists: 'new-folder'

그러면 폴더가 있는지 사전에 체크를 해야하는데, os.path.exists 로 체크하면 된다.

os.path.exists('new-folder')
# 결과값 True 

그리고 경로에 오늘날짜로 년월일(8자리)을 사용하여 폴더를 만들고 싶다면, date 객체를 이용해서 날짜를 구한후에 mkdir 을 사용하면 된다.

import os
from datetime import date

v_today = date.today().strftime("%Y%m%d")
os.mkdir(f'content/post/{v_today}')

쉘에서 쓰던 mkdir 명령어를 그래도 python 에서도 사용할 수는 있다. os.system 명령어를 쓰면 된다.

os.system('mkdir new-folder2')

쉘에서 확인해보면, new-folder2 폴더도 생성이 잘되어 있으니 편한 방법으로 사용하면 된다.

> ls -al
total 16K
drwxr-xr-x 4 root root 4.0K Oct 22 22:20 ./
drwxrwxrwx 1 root root 4.0K Oct 22 21:59 ../
drwxr-xr-x 2 root root 4.0K Oct 22 22:00 new-folder/
drwxr-xr-x 2 root root 4.0K Oct 22 22:20 new-folder2/
python