我目前有一个脚本,可以解析来自 iTunes 的有关当前正在播放的歌曲的信息并打印出来。它仅在歌曲更改时打印。现在我想让它只在歌曲的一分钟过去后才打印出来,但不知道如何做到这一点。
这是我目前拥有的代码:
def giveData():
last_title, last_artist, last_album = None, None, None
while True:
template = '"%s" by %s (%d)\n from %s'
info = ''
iTunesCount = app('System Events').processes[its.name == 'iTunes'].count()
if iTunesCount > 0:
iTunes = app('iTunes')
if iTunes.player_state.get() == k.playing:
track = iTunes.current_track.get()
artist = track.artist.get()
title = track.name.get()
album = track.album.get()
stars = track.rating.get()/20
if title != last_title or artist != last_artist or album != last_album:
last_title, last_artist, last_album = title, artist, album
info = template % (title, artist, stars, album)
# Trying new solution, still printing songs that haven't been playing
# for 60s, just delaying printing them by 60s:
now = time.time()
future = now + 60
while time.time() < future:
pass
song_info = title + " - " + artist
print song_info`