编程语言
首页 > 编程语言> > 使用Python脚本创建Automator服务?

使用Python脚本创建Automator服务?

作者:互联网

我正在尝试创建一个Automator服务,它将对所选文本执行操作,将破折号转换为空格,并为所有文本创建单词大写.

一位朋友给了我这个python脚本(我对python或shell脚本没有任何了解):

#! /usr/bin/python

cliptext = "%clipboard"
print cliptext.replace('-', ' ').replace('%', ' ').replace('&', ' and ').replace('#', ' ').title()

它作为TextExpander片段非常有用,但我也想在“服务”菜单中使用它.我不需要它使用任何特定的脚本语言,它只需要在Automator中运行.我的编码伙伴没有使用Automator的经验,所以他无法帮忙.他的脚本需要将文本复制到剪贴板,然后运行格式并粘贴结果.我希望能够在选定的文本上运行它,而不必处理剪贴板(至少手动).

这方面的特殊用途是重命名Flickr上的照片上传,因为Flickr使用文件名生成照片名称.使用Save For Web通过Photoshop或Illustrator导出图稿时,小写和短划线是我的默认设置.我希望能够突出显示Flickr标题,然后运行服务以将文件名重新格式化为格式正确的标题.

解决方法:

这不是太难做,你只需要知道正确的魔法.我会引导你完成它.

>打开Automator,当系统提示您选择文档类型时,请选择“服务”.如果没有提示您,只需按⌘N即可创建新的自动播放器文件.
>在最右侧面板的顶部,确保选中输出替换所选文本,并将第一个下拉菜单设置为文本:

>如果您只希望它在该程序中运行,则可以将任何应用程序部件更改为特定应用程序.

>在左侧面板的Actions Library中,找到Run Shell Script并双击它以将其添加到工作流程中.
>将Shell下拉菜单更改为/usr/bin/python,并确保将Pass输入设置为stdin.
>删除脚本框中的现有文本,并将其替换为下面的代码.
>使用描述性名称保存. Automator会将其保存在〜/ Library / Services /文件夹中.
>可选:转到“键盘首选项”,然后在“键盘快捷键”选项卡的“服务”部分中找到您的服务.您可以在那里为其分配系统范围的快捷方式.

脚本代码

import sys

for f in sys.stdin:
    print f.replace('-', ' ').replace('%', ' ').replace('&', ' and ').replace('#', ' ').title(),

标签:automator,python,formatting,services,script-2
来源: https://codeday.me/bug/20190818/1691944.html