始めに
こんにちは、美味しいしです。
この記事は、「私、デスクトップが汚い人とはお付き合いしたくないの」と言われないためにの実装解説記事の1つ目となります。
実装について知りたい方は記事をご覧ください!
設定ファイルの作成編集部分
今回は設定ファイルにyamlとcsvを使いました。
困った点1:設定ファイル何処におこう
設定をユーザーが変更しやすくなるように、外に出そうと言うところまではよかったのだが、いざcli化しようと思うと置き場所に困った。
結局、home dir下に.myscreenshot と言うフォルダを作ることで解決した。
やや力技かも。
困った点2:path中に含まれる"~"がhomedirをさしてくれない
設定ファイルを書いてみて、嬉々として動かしてみたら動かない。
なんでかなぁと思ったら、pathの中に含まれる"~"がただのニョロとしてしか解釈されていなかった。
dirname="~/.myscreenshot"
解決方法は以下のとおり
from os.path import expanduser
home=expanduser("~")
dirname=dirname.replace("~",home)
工夫した点1:勝手にmacの設定とってこれたらかっこいいんじゃね???
subprocessを使ってコマンドを叩くことで実装しました。
import subprocess
res = subprocess.run(
"defaults read com.apple.screencapture location",
shell=True,
capture_output=True)
if res.returncode == 0:
dirname = res.stdout[:-1].decode()
else:
dirname = "~/Desktop"
res = subprocess.run(
"defaults read com.apple.screencapture name",
shell=True,
capture_output=True)
if res.returncode == 0:
prefix = res.stdout[:-1].decode()
else:
prefix = "スクリーンショット"
返り値には改行も含まれているのでそれを消しています。また、byte型なので、decodeしてあげています。
これはpython-daemonというライブラリを使うと比較的容易に実装できます。
後編はこちら!