我想在Mac OS / X上使用Python脚本搜索以获取iTunes上的曲目。我找到了一种通过以下方式访问iTunes应用程序的方法:
iTunes = SBApplication.applicationWithBundleIdentifier_("com.apple.iTunes")
但我还没有想出(<)执行搜索的方法。一点点帮助。
免责声明:OS / X新手在这里。
注意:我不是在寻找直接访问XML / plist数据库的方法。
答案 0 :(得分:4)
您可能需要查看appscript(请注意,您需要ASDictionary才能获得在线帮助):
>>> import appscript
>>> iTunes = appscript.app("iTunes")
>>> lib = iTunes.playlists['Library']
>>> for trk in lib.tracks():
... if re.search("test", trk.name()):
... print trk.name()
这可以通过迭代每个项目来给你最大的控制权,但是通过使用applescript钩子进行搜索也有更快的方法:
>>> trks = lib.tracks[appscript.its.name.contains('test')]
>>> print trks.name()
查看这些appscript usage examples。
答案 1 :(得分:0)
这可能是无用的答案,但我建议您使用AppleScript而不是Python。 看看这段代码:
tell application "iTunes"
repeat with bTrack in (every track of playlist 7 whose artist contains "Golden")
...
可在此处找到完美的教程:http://macscripter.net/viewtopic.php?id=25631
答案 2 :(得分:0)
您如何看待:
script = '''tell application "iTunes"
repeat with bTrack in (every track of playlist 7 whose artist contains "Golden")
print bTrack
end repeat
end tell'''
tracks,_ = subprocess.Popen("osascript -e %s" % script, stdout=subprocess.PIPE).communicate()
trackList = tracks.split('\n')
我从未测试过这个......但是......