Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将AppleScript转换为Python appscript(`do javascript`)_Python_Applescript_Py Appscript_Sourceforge Appscript - Fatal编程技术网

将AppleScript转换为Python appscript(`do javascript`)

将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” 将文件设置为别名“应用程

这是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”
将文件设置为别名“应用程序:文档: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