【pythonで自動化!】後編:ファイル操作編


始めに

こんにちは、美味しいしです。
この記事は、「私、デスクトップが汚い人とはお付き合いしたくないの」と言われないためにの実装解説記事の2つ目となります。
今回はやや短めかもです。
実装について知りたい方は記事をご覧ください!

ファイル操作部分

ここで用いたのは正規表現とshutilです。

工夫した点1:ファイル名からキャプチャ時間を抽出しよう!

macのスクショって天才なことに、ファイル名にキャプチャ時間が入るんですね!
これのおかげで、exiftoolのようなものをインストールしてくる必要がなくなりました。prefixにはスクショ時に頭につく接頭辞が入っています。詳しくはこちら

path="スクリーンショット 2020-10-22 10.28.04.png"
cvtpath = re.compile(
        prefix + r"[\s\S]*?(\d{4}).(\d\d).(\d\d)[\s\D]*?(\d\d?).(\d\d).(\d\d)")
flag = re.search(cvtpath, path)
if flag is not None and len(flag.groups()) == 6:
    date = flag.groups()
    date = list(map(lambda x: int(x), date))

困った点1:曜日ってどうやってとろう

よくよく考えたら、ある曜日のある時間帯にいるってどう判断しよう

解決方法:datetimeで曜日は取れる。後はUNIX時間っぽいものを作ればOK!

day = dtdt(*date).strftime("%a") # 曜日を取得できる
# print(day)
# > Thu
dateemb = date[3] * 60 + date[4] # これで一つの値になったので比較できる
# print(dateemb)
# 628

困った点2:os.mvがない!

解決方法:osがなければshutilに頼ればいい!

import shutil
shutil.move(oldpath, newdir)

終わりに

読んでいただきありがとうございました。
前回の記事はこちら