0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【pythonで自動化!】前編:設定ファイル編

Last updated at Posted at 2020-11-02

始めに

こんにちは、美味しいしです。
この記事は、「私、デスクトップが汚い人とはお付き合いしたくないの」と言われないためにの実装解説記事の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というライブラリを使うと比較的容易に実装できます。

後編はこちら

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?