사진 파일이 디렉토리에 구분없이 한 곳에 모여있다!

시놀로지에서 사진 파일을 일자별로 디렉토리를 만들어서 정리/관리했었는데, 최근 모멘트(Moments) 사진 앱이 새로 출시가 되었다. 모멘트나 더 최근에 출시된 시놀로지 포토(Synology Photo)나 해당 앱에 디렉토리가 지정되면, 하부 디렉토리가 몇 개던지 관계없이 사진 파일을 읽어와서 보여준다.
앱으로 사진을 보기엔 무척 편하겠지만, 여전히 디렉토리에 직접 접속해서 사진 파일을 관리하던 나의 방식과는 맞지 않는 부분이 있었다. 때문에, 디렉토리 없이 사진 파일만 나열된 디렉토리에서 사진 파일의 생설일자로 디렉토리를 만들어서 관리하고 싶어졌다.
예를 들면, 사진 파일의 생성일자가 “Mar 19 2007” 이면, 2007-03-19 라는 디렉토리를 만들고 해당 사진 파일을 디렉토리로 이동시키는 것이다.

파이썬 코드

우선, 현재 디렉토리에 있는 사진 파일의 파일명을 읽어서, 생성일자를 확인한다.
생성일자에 맞춰 해당 디렉토리를 생성하고, 해당 파일을 이동한다.
시놀로지에 SSH로 접속해서 작업하고자 하는 디렉토리에서 실행하면 된다.

import os, time, sys, shutil

dir = sys.argv[1]
os.chdir(dir)

// 현재 디렉토리에서 사진 파일 하나를 가져온다.
for f in os.listdir("."): 
    // 파일의 생성정보를 가져온다
    ft = time.localtime(os.path.getmtime(f))  

    // 파일의 생성정보로 디렉토리 이름을 정한다.
    cdir = str("%d-%02d-%02d" % (ft.tm_year, ft.tm_mon, ft.tm_mday))  

    // 디렉토리를 만든다.
    if not os.path.isdir(cdir):  
        os.mkdir(cdir)
    dest = cdir + "/" + f

    // 사진 파일을 옮긴다.
    shutil.move(f, dest)  


댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다