Что заменяет теперь устаревший Carbon.File.FSResolveAliasFile в Python для OSX?
В Python 2 я могу использовать следующий код для разрешения псевдонима MacOS или символической ссылки:
from Carbon import File
File.FSResolveAliasFile(alias_fp, True)[0].as_pathname()
где alias_fp - путь к файлу I 'интересно, хранится в виде строки (источник).
Тем не мение,документация радостно говорит мне, что все семейство модулей Carbon устарело, Что я должен использовать вместо этого?
РЕДАКТИРОВАТЬ: Я считаю, что приведенный ниже код является шагом в правильном направлении для подхода PyObjC. Это нене разрешать псевдонимы, но, похоже, обнаруживает их. (
from AppKit import NSWorkspace
def is_alias (path):
uti, err = NSWorkspace.sharedWorkspace().typeOfFile_error_(
os.path.realpath(path), None)
if err:
raise Exception(unicode(err))
else:
return "com.apple.alias-file" == uti
К сожалению, Я'я не могу получить @Milliways 'S решение работает (ничего не зная о какао) ивещи, которые я нахожу в другом месте в Интернете выглядит гораздо сложнее (возможно, этоОбработка всех видов крайних случаев?).