Как отмечают другие, «alis: 1: Расположение библиотеки iTunes» - это данные псевдонима. Вот как я нахожу путь от данных в OS X, используя Python.
#!/usr/bin/env python
import commands, plistlib
from Carbon import File
from os.path import expanduser
PLIST_PATH = '~/Library/Preferences/com.apple.iTunes.plist'
PLIST_KEY = 'alis:1:iTunes Library Location'
def resolve_path_from_alias_data( alis ):
fs_ref = File.Alias( rawdata=alis ).FSResolveAlias( None )[0]
file_path = fs_ref.as_pathname()
return file_path
plist_str = commands.getoutput( '/usr/bin/plutil -convert xml1 -o - "' + expanduser( PLIST_PATH ) + '"' )
plist_data = plistlib.readPlistFromString( plist_str )
alis_data = plist_data[ PLIST_KEY ].data
file_path = resolve_path_from_alias_data( alis_data )
print repr( file_path )
К сожалению, iTunes больше не использует «alis: 1: Расположение библиотеки iTunes» , поэтому это больше не работает. Теперь iTunes 11 использует запись под названием «RDoc: 132: Документы», которая, кажется, полностью отличается. Я отправил аналогичный вопрос с соответствующими подробностями iTunes 11 .
На самом деле мой ответ работает нормально, начиная с OS X 10.9.1. Я не уверен, остановился ли он из-за какой-то ошибки, которую я сделал, или Apple незаметно вернула что-то. В любом случае, он снова работает на моем Mac.