获得结果:
"<NSAppleEventDescriptor: [ 1 ]>"
我在Automator的Applescript Shell中有一个Dialogue Box
display dialog "¿ What database did you use for your sequences ?" buttons {"RefSeq", "Ensembl"} default button 2
set the button_pressed to the button returned of the result
if the button_pressed is "RefSeq" then
return 0
else if the button_pressed is "Ensembl" then
return 1
end if
为什么不打印字符串?我使用&#34;设置为变量&#34;将其设置为变量。然后我使用&#34;获取变量&#34;
在我的Python Shell脚本之前获取变量 我在Python Shell脚本中使用:
var_1 = sys.argv[1]
答案 0 :(得分:0)
你是如何让它在Python中打印字符串的呢?
此Python脚本根据对AppleScript的响应打印“1”或“0”:
#!/usr/bin/python
# -*- coding: utf-8 -*-
from subprocess import Popen, PIPE
script = '''
display dialog "¿ What database did you use for your sequences ?" buttons {"RefSeq", "Ensembl"} default button 2
set the button_pressed to the button returned of the result
if the button_pressed is "RefSeq" then
return 0
else if the button_pressed is "Ensembl" then
return 1
end if
'''
macosx = Popen('/usr/bin/osascript', stdin=PIPE, stdout=PIPE, stderr=PIPE)
(response, error) = macosx.communicate(script)
response = response.strip()
print response
为了通过Automator中的“Run Shell Script”使用它,AppleScript根据我对Apple的Creating Shell Script Actions的读取,必须将值作为字符串返回。 “运行Shell脚本”操作似乎不执行automatic type conversions。
在您的示例脚本中,您可以通过将“return 0”和“return 1”更改为“return”0“”和“return”1“”来解决此问题:
我使用“变量”的“设置/获取值”以及“运行AppleScript”和“运行Shell脚本”之间的直接连接对此进行了测试。在每种情况下都应用相同的行为。