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

相关文章
相关标签/搜索