我正在尝试让python在播放歌曲的同时从文本文件中读取一首歌。 它读取歌曲的方式有点像来自portal(Still Alive)的歌曲是如何播放的。
我认为它有点棘手,但我需要python一次打印出每首字母的歌曲,同时保持与实际歌曲的节奏。任何帮助都将不胜感激。
问候!
import urllib.request # Example URL
url = "http://ntl.matrix.com.br/pfilho/oldies_list/top/lyrics/black_or_white.txt" # Open URL: returns file-like object
lyrics = urllib.request.urlopen(url) # Read raw data, this will return a "bytes object"
text = lyrics.read() # Print raw data
print(text) # Print decoded data:
print(text.decode('utf-8'))
编辑:
好吧,所以我认为这可能是非常广泛的答案,所以这就是我想要做的事情:只需通过从文本文件中读取每个字符并能够设置读取/打印它的速度。答案 0 :(得分:0)
以下是一些基本代码,假设您手头有大量信息。
import sys
from time import sleep
# For python 2 import this
#from itertools import izip as zip
# Delay in seconds to wait before printing each *character* of the song lyrics
time_delays = [0.1, 0.1, 0.1, 0.5, 0.2, 0.1, 0.1]
song_lyrics = "thesong"
print "Let's sing a song..."
for song_char, char_delay in zip(song_lyrics, time_delays):
sleep(char_delay)
sys.stdout.write(song_char)
sys.stdout.flush()
希望有所帮助。我使用sys.stdout
而不是print
的原因是因为它更容易控制,您需要刷新缓冲区,否则屏幕只会在缓冲区已满时更新。