将AppleScript转换为Python appscript(`do javascript`)
这是AppleScript模板:将AppleScript转换为Python appscript(`do javascript`),python,applescript,py-appscript,sourceforge-appscript,Python,Applescript,Py Appscript,Sourceforge Appscript,这是AppleScript模板: tell application "Adobe Photoshop CS5" set theFile to alias “Application:Documents:MyFile” open theFile do javascript (file <path to Emboss.jsx>) with arguments { 75,2,89 } end tell 告诉应用程序“Adobe Photoshop CS5” 将文件设置为别名“应用程
tell application "Adobe Photoshop CS5"
set theFile to alias “Application:Documents:MyFile” open theFile
do javascript (file <path to Emboss.jsx>) with arguments { 75,2,89 }
end tell
告诉应用程序“Adobe Photoshop CS5”
将文件设置为别名“应用程序:文档:MyFile”打开文件
使用参数{75,2,89}执行javascript(文件)
结束语
我想把它翻译成Python appscript。不幸的是,我不知道如何翻译dojavascript
。有什么想法吗
我甚至不知道如何找到它。也许我对AppleScript的了解太少了。
do
是关键词吗?还是我发送给应用程序的命令?javascript
是do
的参数吗?或者javascript是否属于同一类(作为带空格的命令)?我仍然不知道如何翻译上述内容(更一般地说,我不知道如何将任何通用的AppleScript代码翻译成Python appscript)
但是,对于上述情况,我发现有命令do\u javascript
。它似乎并不执行文件,而是直接执行给定的JS代码字符串
例如,这项工作:
from appscript import *
import os, sys
ps = app("Adobe Photoshop CS5")
filelist = sys.argv[1:]
jsCode = """
var g_StackScriptFolderPath = app.path + "/Presets/Scripts/"
var runMergeToHDRFromScript = true;
$.evalFile(g_StackScriptFolderPath + "Merge to HDR.jsx");
mergeToHDR.mergeFilesToHDR(%s, true);
""" % (repr(filelist),)
ps.do_javascript(jsCode)
要将通用的
AppleScript
翻译为appscript
,请使用appscript
网站提供的ASTranslate
工具。由于某些应用程序的脚本定义中的怪癖和错误,它并不总是能够成功转换,但它是一个很好的起点。do javascript
可能是一个运行Js代码的命令(在这种情况下,代码位于文件中)。你通常在Safari中使用这一功能,但adobe应用程序也支持这一功能。为什么投票不加任何评论?酷!看起来,dojavascript
确实被规范地翻译为dou javascript
。