方法1:
musicLrc = r"""[00:03.50]传奇
[00:19.10]作词:刘兵 作曲:李健
[00:20.60]演唱:王菲
[00:26.60]
[04:40.75][02:39.90][00:36.25]只是因为在人群中多看了你一眼
[04:49.00]
[02:47.44][00:43.69]再也没能忘掉你容颜
[02:54.83][00:51.24]梦想着偶然能有一天再相见
[03:02.32][00:58.75]从此我开始孤单思念
[03:08.15][01:04.30]
[03:09.35][01:05.50]想你时你在天边
[03:16.90][01:13.13]想你时你在眼前
[03:24.42][01:20.92]想你时你在脑海
[03:31.85][01:28.44]想你时你在心田
[03:38.67][01:35.05]
[04:09.96][03:39.87][01:36.25]宁愿相信我们前世有约
[04:16.37][03:46.38][01:42.47]今生的爱情故事 不会再改变
[04:24.82][03:54.83][01:51.18]宁愿用这一生等你发现
[04:31.38][04:01.40][01:57.43]我一直在你身旁 从未走远
[04:39.55][04:09.00][02:07.85]
"""
import time
#通过]来得知总共需要打印多少歌词
counter = musicLrc.count("]")
#分行切割
list1 = musicLrc.splitlines()
# num是计算打了多少行数据了
num = 0
#标记位
time_self_flag = 0
#开始
start_time = time.clock()
while True:
end_time = time.clock()
#获取分钟
end_time_min = end_time//60
#获取秒钟
end_time_sec = (end_time//1)%60
#获取微妙
end_time_ms = (end_time*100//1)%100
#将时间按照 [时:分:秒 复制给变量time_self1
time_self1 = "[%02.0f:%02.0f.%02.0f" % (end_time_min, end_time_sec, end_time_ms)
#这里进行判断,是为了避免在同一时间对所有歌词判断多遍
if time_self1 != time_self_flag:
time_self_flag = time_self1
# print(time_self1)
for i in list1:
list2 = i.split("]")
for j in list2:
#时间戳 与 歌词时间进行对比,相同则打印,不同则推出
if j == time_self1:
print(j+"]"+list2[-1])
num += 1
break
#打印完所有歌词,则退出while循环
if num == counter:
break
方法2:
import time
dict1 = {}
list_key = []
#1.提取出时间和歌词
music_list1 = musicLrc.splitlines()
for i in music_list1:
music_list2 = i.split("]")
# print(music_list2)
for j in range(len(music_list2)-1):
# print(music_list2[j][1:])
list2 = music_list2[j][1:].split(":")
# 2.将字符串时间转换成整型数据
times = float(list2[0])*60+float(list2[1])
# print(times)
# 3.转换成字典
dict1[times] = music_list2[-1]
# print(dict1)
#4.将字典中的key(就是时间),提取出来,存放在list,并进行排序
for key in dict1.keys():
list_key.append(key)
#排序
list_key.sort()
#按时间顺序打印出歌词
# for key in list_key:
# print(key,dict1[key])
#播放器方式打印歌词
start_time = time.clock()
flag_music = 0
for key in list_key:
#取整数
keys = key//1
while True:
# 取整数
end_time = time.clock()//1
if end_time == keys:
print(key,dict1[key])
break