class song_song: def __init__(self,lrc_file): # 定義兩個字典一個列表備用 self.song_file = lrc_file self.song_lrc ={} self.song_zhuti = {} self.song_time = [] # 將函 ...
class song_song:
def __init__(self,lrc_file):
# 定義兩個字典一個列表備用
self.song_file = lrc_file
self.song_lrc ={}
self.song_zhuti = {}
self.song_time = []
# 將函數調用至song_jiexi
self.song_jiexi()
def song_jiexi(self):
# 開啟文件
fp = open(self.song_file,encoding='utf-8')
lrc_hang = fp.readlines()
# 拆分
for s in lrc_hang:
# 判斷歌曲信息還是歌詞信息
if s[1].isdecimal():
t = s.split(']')
# 得到歌詞lrc_str
lrc_str = t[-1]
t2 = t[:-1]
# 時間換算結果lrc_time3
for lrc_time in t2:
lrc_time2= lrc_time[1:].split(':')
lrc_time3 = float(lrc_time2[0])*60+float(lrc_time2[-1])
#放入字典中
self.song_lrc[lrc_time3]= lrc_str
# 字典列印
# print(self.song_lrc)
else:
#進行標題拆分
song1 = s[1:-2]
# print(song1)
song2 = song1.split(':')
if song2[0] == 'ti':
self.song_zhuti['主題'] = song2[-1]
if song2[0] == 'ar':
self.song_zhuti['歌手'] = song2[-1]
if song2[0] == 'al':
self.song_zhuti['專輯'] = song2[-1]
# 轉化時間列表
self.song_time = list(self.song_lrc)
self.song_time.sort(reverse=True)
# print(self.song_time)
#主題列表列印
# print(self.song_zhuti)
def chazhao(self, t):
for i in self.song_time:
if i <= t:
return self.song_lrc[i]
return self.song_lrc[-1]
c = song_song('1.txt')
print(c.chazhao(-1))