在iTunes上搜索曲目

5 投票
3 回答
1198 浏览
提问于 2025-04-15 22:15

我想用一个Python脚本在Mac OS/X上搜索iTunes里的音乐曲目。我找到了一种方法可以通过以下代码来访问iTunes应用:

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

但是我还没搞清楚怎么进行搜索。希望能得到一点帮助。

声明:我还是个OS/X新手。

注意:我并不想直接访问XML/plist数据库。

3 个回答

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

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

不过我从来没有测试过这个……

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 的 使用示例

撰写回答