Applescript - 从python返回

时间:2016-10-31 15:46:02

标签: python macos applescript

我有一个启动python脚本的Apple脚本。 python脚本计算一个整数。 是否可以将结果作为整数或字符串返回到applescript?

THX

2 个答案:

答案 0 :(得分:1)

你应该能够从像这样的AppleScript中运行的python脚本中返回一个值:

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

然后将scriptResult设置为python脚本中提供给stdout的任何输出(例如,来自print语句)。所以在你的python脚本中你可以简单地说:

print yourInteger

然后将scriptResult设置为[integer]。请注意,scriptResult将设置为所有stdout,因此您打印的所有内容都将包含在此处。您还可能需要在AppleScript中进行一些转换,以使scriptResult成为一个数字:

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

答案 1 :(得分:0)

在同一类型中使用do shell脚本直接使用脚本python

set xy to do shell script "echo   'import sys, time; from Quartz.CoreGraphics import *
def mouseEvent(type, posx, posy): theEvent = CGEventCreateMouseEvent(None, type, (posx,posy), kCGMouseButtonLeft); CGEventPost(kCGHIDEventTap, theEvent);
def mouseclickdn(posx,posy): mouseEvent(kCGEventLeftMouseDown, posx,posy);
def mouseclickup(posx,posy): mouseEvent(kCGEventLeftMouseUp, posx,posy);
ourEvent = CGEventCreate(None); currentpos = CGEventGetLocation(ourEvent); print currentpos[0]; print currentpos[1]; mouseclickdn(currentpos.x, currentpos.y);
mouseclickup(currentpos.x, currentpos.y);' | python "

set xy to do shell script "echo " & xy