在iTunes上搜索曲目

时间:2010-05-02 02:05:23

标签: python macos scripting itunes

我想在Mac OS / X上使用Python脚本搜索以获取iTunes上的曲目。我找到了一种通过以下方式访问iTunes应用程序的方法:

iTunes = SBApplication.applicationWithBundleIdentifier_("com.apple.iTunes")

但我还没有想出(<)执行搜索的方法。一点点帮助。

免责声明:OS / X新手在这里。

注意:我不是在寻找直接访问XML / plist数据库的方法。

3 个答案:

答案 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')

我从未测试过这个......但是......