要件定義
macでスクショを取りすぎて、Desktopが荒れるからスクショを整理したい
手で分別はスマートじゃない、年月で分別できたら良さげ
よしやろう
環境
– macOS Mojave var10.14.5
– Python 3.7.3
コード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
import shutil import os import re pwd = '/Users/tomowarkar/Desktop/SS/' ymd_regex = r'\d{4}-\d{2}' def find_SS(): listdir = os.listdir(pwd) find_png = list(map(lambda x: x if '.png' in x else None, listdir)) return list(filter(None, find_png)) def find_or_create_dir(yymm): yy, mm = yymm.split('-') pas = f'{pwd}{yy}/{mm}/' if os.path.isdir(pas[:-3]): if not os.path.isdir(pas): os.mkdir(pas) else: os.mkdir(pas[:-3]) os.mkdir(pas) return pas files = find_SS() for f in files: rgx = re.search(ymd_regex, f) if rgx: yymm = rgx.group() pas = find_or_create_dir(yymm) shutil.move(pwd + f, pas + f) |
期待する動作
前提
~/Desctop/SS/配下にスクリーンショット(SS)が存在する
SSのファイル名はスクリーンショット yyyy-mm-dd hh.mm.ss.pngみたいな感じ(yyyy-mm-dd hh.mm.ssは任意の年月日時間)
最悪pngファイルでファイル名にyyyy-mmが入っていればOK
期待
- ~/Desctop/SS/配下で年、月別でファイル分けがされる。
- ディレクトリがなければ作成される
例1
before: ~/SS/スクリーンショット 2019-09-18 12.34.56.png
after: ~/SS/2019/09/スクリーンショット 2019-09-18 12.34.56.png
例2
before: ~/SS/スクリーンショット yyyy-mm-dd hh.mm.ss.png
after: ~/SS/yyyy/mm/スクリーンショット yyyy-mm-dd hh.mm.ss.png
スクリーンショットの保存先を変更するtips
ぼくの場合Desctop配下のSSディレクトリにSSを保存したかったので~/Desctop/SS/としている
この部分を好きに変更してくれい!
1 2 |
$defaults write com.apple.screencapture location ~/Desctop/SS/ $killall SystemUIServer |
Next Action
スクショ時に自動的に実行するようにすればいいよね
ちなみに大量のSSを一括分類したいときにも使える
コメントを残す