【原文:Automator + Python】
基于 macOS 及其 Automator妈候。
由于需要經(jīng)常處理某些拍攝或下載的圖片、素材,針對(duì)不同的處理需求編寫了很多不同的腳本(例如圖像主題色提取算法、自然場(chǎng)景實(shí)驗(yàn)材料處理工具(2) 等)幻件,一般的做法是將腳本保存到系統(tǒng)環(huán)境目錄下会前,然后在命令行中執(zhí)行好乐。但是對(duì)于圖片文件,最方便的方式當(dāng)然是可以在 Finder 中直接選中并通過(guò)右鍵菜單執(zhí)行相應(yīng)的操作瓦宜。
在 macOS 系統(tǒng)中蔚万,要做到這一點(diǎn)非常容易,甚至不需要額外的代碼临庇,只需要系統(tǒng)自帶的輔助工具 Automator 即可:
Automator是蘋果公司為他們的Mac OS X系統(tǒng)開(kāi)發(fā)的一款軟件笛坦。只要通過(guò)點(diǎn)擊拖拽鼠標(biāo)等操作就可以將一系列動(dòng)作組合成一個(gè)工作流,從而幫助你自動(dòng)的(可重復(fù)的)完成一些復(fù)雜的工作苔巨。
上圖的右鍵菜單中最下方有一欄 Services 子選項(xiàng)版扩,可以通過(guò) Automator 的 Services 服務(wù)添加:
在 Automator 的工作界面中,可以從左側(cè)選擇對(duì)應(yīng)的動(dòng)作(Actions)侄泽, 多個(gè)動(dòng)作組成我們想要觸發(fā)的工作流程(Workflow)礁芦。在工作流程編輯區(qū)上方選擇 Service 對(duì)象為圖片文件,所在的應(yīng)用環(huán)境是 Finder:
接下來(lái)選擇針對(duì)這一文件想要執(zhí)行的腳本悼尾,可以在 Actions 搜索框中搜索 shell
柿扣,然后將 Run Shell Script 拖入 Workflow,可以在 Shell 選項(xiàng)下面選擇你想要執(zhí)行的腳本闺魏,并直接在輸入框中輸入腳本未状,當(dāng)然更好的方法是在系統(tǒng) Shell 環(huán)境下執(zhí)行已經(jīng)保存好的 Python 腳本:
#!/usr/local/bin/python3
import sys
import os
for f in sys.stdin:
filename = f.strip()
if os.path.isfile(filename):
# some operations here
print(os.path.basename(filename))
else:
print("Image {} not found!".format(filename))
保存腳本并添加可執(zhí)行權(quán)限。為了看到執(zhí)行結(jié)果析桥,可以添加Display Notification動(dòng)作司草,同時(shí)可以插入一個(gè)Set Value of Variable來(lái)傳遞腳本輸出的結(jié)果:
最后保存這一工作流,即可在右鍵菜單中顯示該選項(xiàng)泡仗,執(zhí)行完之后可以在通知欄提示執(zhí)行結(jié)果埋虹。