![](/img/trans.png)
[英]Calling AppleScript from Python without using osascript or appscript?
[英]Translate AppleScript to Python appscript (`do javascript`)
这是 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
? 或者do javascript
属于一起(作为带有空格的命令)?
我仍然不完全知道如何翻译上述内容(更一般地说:我不知道如何将任何通用 AppleScript 代码翻译为 Python appscript)。
但是,对于上述情况,我发现有命令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)
要将通用AppleScript
转换为appscript
,请使用此处的appscript
web 站点提供的ASTranslate
工具。 由于某些应用程序的脚本定义中的怪癖和错误,它并不总是能够成功翻译,但它是一个很好的起点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.