-1

我目前有一个脚本,可以解析来自 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`
4

1 回答 1

0

How about just adding a time counter?

import time

now = time.time()
future = now + 60
while time.time() < future:
    pass

print '60 seconds have passed'

or as @Undeterminant pointed out just use

time.sleep(60)
于 2015-01-08T23:08:31.817 回答