画像ファイル(写真)はスマホで撮影すると、
それを自動的にoneDriveにアップロードされ、
それがPCの中に反映されるのですが、
それを年と月毎にフォルダ分けするのがめんどくさいので、
自動的に振り分けるPythonスクリプトを作成しました。
from datetime import date
import glob
import os
import pathlib
import shutil
CAMERA_ROLL = 'カメラ ロール'
class file_date:
def __init__(self, name, year, month):
self.name = name
self.year = year
self.month = month
def __main():
folder = glob.glob(CAMERA_ROLL)
if len(folder) != 0:
organize_cameraroll()
def get_filelist():
files = []
for filename in glob.glob('*'):
stat = os.stat(pathlib.Path(filename))
dt = date.fromtimestamp(stat.st_ctime)
file = file_date(filename, str(dt.year), str(dt.month).zfill(2))
files.append(file)
return files
def organize_cameraroll():
os.chdir(CAMERA_ROLL)
files = get_filelist()
for file in files:
if len(glob.glob(file.year)) == 0:
os.mkdir(file.year)
dist = file.year + "\\" +file.month
if len(glob.glob(dist)) == 0:
print(dist)
os.makedirs(dist)
if not os.path.isdir(file.name):
pass
shutil.move(file.name, dist + '\\' + file.name)
__main()