Applescript 无法获取 return 的 Python 调用

Applescript unable to grab return of Python call

我这辈子大概用过 4 次 Applescript。当然,我需要再次使用它来工作。 我的最终目标是:
•运行 调用 python 脚本的脚本
•将python 脚本的return 保存到A.S 中的一个变量中。 (这将是 4 个数字(浮点数))
•将这些传递给 Photoshop 以使用这 4 个数字作为坐标裁剪图像(来自 Python 脚本,运行s googlevision 在图像上根据图像中的内容进行裁剪)

我在 A.S 中有一个工作原型。这是在 Photoshop 中使用坐标裁剪图像,尽管目前是硬编码的。

我遇到的问题是将 Python return 保存到 A.S。多变的。它只是不工作。我开始使用 python 脚本进行 SUPER 基本操作,如下所示:

def get():
    b = "5"
    return b

answer = get()
print(answer)

***我试过使用“打印”,只是 return 打印信息

A.S。如下:

tell application "Terminal"
    activate
    delay 1
    do script "cd Desktop" in window 1
    delay 1
    set myVal to do script "python test.py" in window 1
    delay 1
    display dialog myVal
end tell

使用上面的代码,我从 A.S 得到以下错误。

error "Terminal got an error: Can’t make tab 1 of window id 11768 into type string." number 
-1700 from tab 1 of window id 11768 to string

我尝试在 do shell 脚本 周围添加括号,甚至将 myVal 声明为字符串,其中如果对话框确实出现但字符串为空...

只是想在解决整体问题之前掌握这方面的基础知识。

我认为您不需要使用 Terminal,因为 do shell script command 就足够了。

给出以下示例 AppleScript code 试试看:

set myPythonScript to POSIX path of (path to desktop as string) & "test.py"

set myVal to do shell script "python" & space & myPythonScript's quoted form

display dialog myVal

结果:

oneliner应该做的:

set scriptResult to (do shell script ("python /path/to/script.py")) as integer