2010-11-08 1 views
0

Использование filemanager Path Finder на mac os x, я хочу получить выбранные файлы/папки с помощью python с помощью py-appscript. py-appscript - это высокоуровневый мост событий, который позволяет вам управлять сценариями приложений Mac OS X с Python.Как я могу получить доступ к выбору файла в Path Finder через py-appscript?

В AppleScript это было бы что-то вроде

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 

В питона было бы вместо того, чтобы что-то вроде

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

Итак, как я могу конвертировать ссылки в selection_list для питона-строк?

ответ

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. 

Добавить соль по вкусу. Но, если вы можете указать пример URL-адреса PathFinder, я могу дать лучший ответ.

+0

Я ищу python-код, а не applescript. Извините, если мой вопрос вводит в заблуждение, я сейчас ее исправлю, – Chaoswind

Смежные вопросы