Automator + Python

基於 macOS 及其 Automator。python

因爲須要常常處理某些拍攝或下載的圖片、素材,針對不一樣的處理需求編寫了不少不一樣的腳本(例如圖像主題色提取算法天然場景實驗材料處理工具(2) 等),通常的作法是將腳本保存到系統環境目錄下,而後在命令行中執行。可是對於圖片文件,最方便的方式固然是能夠在 Finder 中直接選中並經過右鍵菜單執行相應的操做。算法

在 macOS 系統中,要作到這一點很是容易,甚至不須要額外的代碼,只須要系統自帶的輔助工具 Automator 便可:shell

Automator是蘋果公司爲他們的Mac OS X系統開發的一款軟件。只要經過點擊拖拽鼠標等操做就能夠將一系列動做組合成一個工做流,從而幫助你自動的(可重複的)完成一些複雜的工做。工具

Auto.png

上圖的右鍵菜單中最下方有一欄 Services 子選項,能夠經過 Automator 的 Services 服務添加:spa

Untitled.jpg

在 Automator 的工做界面中,能夠從左側選擇對應的動做(Actions), 多個動做組成咱們想要觸發的工做流程(Workflow)。在工做流程編輯區上方選擇 Service 對象爲圖片文件,所在的應用環境是 Finder命令行

Screen_Shot_2017-01-05_at_8_42_11_PM.jpg

接下來選擇針對這一文件想要執行的腳本,能夠在 Actions 搜索框中搜索 shell,而後將 Run Shell Script 拖入 Workflow,能夠在 Shell 選項下面選擇你想要執行的腳本,並直接在輸入框中輸入腳本,固然更好的方法是在系統 Shell 環境下執行已經保存好的 Python 腳本:3d

Screen_Shot_2017-01-05_at_8_48_27_PM.jpg

#!/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))複製代碼

保存腳本並添加可執行權限。爲了看到執行結果,能夠添加Display Notification動做,同時能夠插入一個Set Value of Variable來傳遞腳本輸出的結果:code

Pix_-_啥也沒幹.jpg

最後保存這一工做流,便可在右鍵菜單中顯示該選項,執行完以後能夠在通知欄提示執行結果。orm

2017-01-05 21_32_39.gif


閱讀原文cdn

相關文章
相關標籤/搜索