1

这是 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

我想把它翻译成 Python appscript。不幸的是,我无法弄清楚如何翻译do javascript. 有任何想法吗?

我什至不知道如何找到它。也许我对 AppleScript 的了解太少了。是do关键字吗?还是我发送给应用程序的命令?是javascript一个参数do吗?还是do javascript属于一起(作为带有空格的命令)?

4

2 回答 2

1

我仍然不完全知道如何翻译上述内容(更一般地说:我不知道如何将任何通用 AppleScript 代码翻译成 Python appscript)。

但是,对于上述情况,我发现有 command do_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)
于 2011-08-15T15:12:07.197 回答
1

要将泛型转换AppleScriptappscript,请使用此处网站ASTranslate提供的工具 。由于某些应用程序的脚本定义中的怪癖和错误,它并不总是能够成功翻译,但它是一个很好的起点。appscript

于 2011-08-15T15:24:50.443 回答