将Python字符串列表传递给Applescript?

时间:2016-07-21 17:09:09

标签: python list applescript

我有一个Python脚本,用于评估硬盘驱动器上的某些目录以获取标准匹配文件。它返回一个包含文件名的字符串列表 在Applescript中,我用do shell script "path-to-script.py"调用Python脚本 如果我在Python脚本中打印列表并从Applescript运行脚本,它将显示为单个字符串(即“['string1','string2',...,'stringX']”)在脚本编辑器应用程序的结果对话框中。

有谁知道,如何将这个Python列表传递给相同的Applescript列表?

感谢。

2 个答案:

答案 0 :(得分:1)

最直接的方法是让Python脚本在不同的行上打印列表项:

print("\n".join(list_of_files))

在AppleScript中,将这些行分解为一个列表:

set AppleScript's text item delimiters to return
set list_of_files to text items of (do shell script "path-to-script.py")

答案 1 :(得分:0)

最好先将Applescript的文本项分隔符保存到变量中,然后在完成所需操作后将其恢复。同时将其全部包含在try块中,以避免文本分隔符处于可能运行的任何其他脚本的意外状态。即。

try 
    set oldDelims to AppleScript's text item delimiters 
    -- do your stuff
    --restore default delimiters:
    set AppleScript's text item delimiters to oldDelims
on error
    set AppleScript's text item delimiters to oldDelims
end try