如何通过py-appscript访问Path Finder中的文件选择?

时间:2010-11-08 09:53:47

标签: python macos applescript appscript pathfinder

在mac os x上使用filemanager Path Finder,我想使用py-appscript使用python检索所选的文件/文件夹。 py-appscript是一个高级事件桥,允许您从Python控制可编写脚本的Mac OS X应用程序。

在Apple中,它就像是

tell application "Path Finder"
 set selection_list to selection -- list of fsItems (fsFiles and fsFolders)
 set _path to posix path of first item of selection_list
 do shell script "python " & quoted form of _path
end tell

在python中它会改为像

from appscript import *
selectection_list = app('Path Finder').selection.get()   # returns reference, not string

那么,我如何将selection_list中的引用转换为python-strings?

2 个答案:

答案 0 :(得分:0)

我不熟悉Pathfinder,但如果它有自己的文件URL类型(或者它可能是POSIX路径?),那么可能会有某种分隔符分隔路径中文件层次结构的级别。要在一个和另一个之间进行转换,您需要使用Applescript's text item delimiters。这些方面的东西应该可行

set thePathFinderPath to "/pathfinder/path/to/finder"

set pathFinderPathDelimiter to "/" -- whatever it may be here
set finderPathDelimiter to ":"

set AppleScript's text item delimiters to {pathFinderPathDelimiter}
set thePathComponents to (get every text item in thePathFinderPath) as list
set AppleScript's text item delimiters to {finderPathDelimiter}
set theFinderPath to thePathComponents as text
set AppleScript's text item delimiters to "" -- very important you clear the TIDs.

加入盐调味。但是,如果您可以提供PathFinder URL的示例,那么我可以提供更好的答案。

答案 1 :(得分:0)

为什么不尝试python-applescript,它可以通过python运行applescript的脚本。在此处获取:http://pypi.python.org/pypi/python-applescript