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
我这辈子大概用过 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