![](/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.