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