1. 程式人生 > >Python程式碼解析LRC歌詞檔案

Python程式碼解析LRC歌詞檔案

Python程式碼解析LRC歌詞檔案

需求分析

"""
把lrc檔案裡面的歌詞按照時間順序輸出

需求分析:
	1.怎麼開啟lrc檔案--->open
	2.讀取檔案內容,儲存下來列表和字典
	3.解析歌詞([01:40.00][00:16.00]今天我寒夜裡看雪飄過 )
		3.1去除[]
		3.2提取時間
		3.3提取歌詞
		3.4把時間和歌詞存入字典
	4.顯示解析後的歌詞
		03:18.00 原諒我這一生不羈放縱愛自由
		03:24.00 也會怕有一天會跌倒
		03:29.00 被棄了理想誰人都可以
"""

案例程式碼

# 開啟檔案
file = open("海闊天空.lrc", "r", encoding="utf-8")
# 讀取檔案全部內容
lrc_list = file.readlines()
# '[01:48.00],[00:24.00],懷著冷卻了的心窩飄遠方'
# 建立字典,存放歌詞和時間,key表示時間,value表示歌詞
lrc_dict = {}
# 遍歷所有元素,幹掉方括號
for i in lrc_list:
    # 取出方括號並切割歌詞字串
    lrc_word = i.replace("[", "]").strip().split("]")
    # 得到的結果: lrc_word = ['', '01:40.00', '', '00:16.00', '今天我寒夜裡看雪飄過']
    for j in range(len(lrc_word) - 1):
        if lrc_word[j]:
            # print(lrc_word[j], end=",")
            lrc_dict[lrc_word[j]] = lrc_word[-1]
# 遍歷字典,對字典的key進行排序,
for key in sorted(lrc_dict.keys()):
    print(key, lrc_dict[key])

file.close()

執行結果:

00:00.00 Beyond:海闊天空
00:16.00 今天我寒夜裡看雪飄過
00:24.00 懷著冷卻了的心窩飄遠方
00:29.00 風雨裡追趕
00:33.00 霧裡分不清影蹤
00:36.00 天空海闊你與我
00:39.00 可會變(誰沒在變)
00:42.00 多少次迎著冷眼與嘲笑
00:49.00 從沒有放棄過心中的理想
00:54.00 一剎那恍惚
00:58.00 若有所失的感覺
01:01.00 不知不覺已變淡
01:04.00 心裡愛(誰明白我)
01:07.00 原諒我這一生不羈放縱愛自由
01:13.00 也會怕有一天會跌倒
01:20.00 被棄了理想誰人都可以
01:26.00 那會怕有一天只你共我
01:40.00 今天我寒夜裡看雪飄過
01:48.00 懷著冷卻了的心窩飄遠方
01:53.00 風雨裡追趕
01:57.00 霧裡分不清影蹤
02:00.00 天空海闊你與我
02:03.00 可會變(誰沒在變)
02:06.00 原諒我這一生不羈放縱愛自由
02:12.00 也會怕有一天會跌倒
02:19.00 被棄了理想誰人都可以
02:26.00 那會怕有一天只你共我
03:05.00 仍然自由自我
03:10.00 永遠高唱我歌
03:13.00 走遍千里
03:18.00 原諒我這一生不羈放縱愛自由
03:24.00 也會怕有一天會跌倒
03:29.00 被棄了理想誰人都可以
03:37.00 那會怕有一天只你共我
03:44.00 被棄了理想誰人都可以
03:49.00 那會怕有一天只你共我
03:56.00 原諒我這一生不羈放縱愛自由
04:01.00 也會怕有一天會跌倒
04:06.00 被棄了理想誰人都可以
04:14.00 那會怕有一天只你共我
al:樂與怒 
ar:黃家駒 
by:mp3.50004.com 
ti: 海闊天空 

資源:歌詞檔案(也可以使用格式為[.lrc]的其他歌詞檔案)

[ti: 海闊天空]
[ar:黃家駒]
[al:樂與怒]
[by:mp3.50004.com]
[00:00.00]Beyond:海闊天空 
[01:40.00][00:16.00]今天我寒夜裡看雪飄過 
[01:48.00][00:24.00]懷著冷卻了的心窩飄遠方 
[01:53.00][00:29.00]風雨裡追趕 
[01:57.00][00:33.00]霧裡分不清影蹤 
[02:00.00][00:36.00]天空海闊你與我 
[02:03.00][00:39.00]可會變(誰沒在變) 

[00:42.00]多少次迎著冷眼與嘲笑 
[00:49.00]從沒有放棄過心中的理想 
[00:54.00]一剎那恍惚 
[00:58.00]若有所失的感覺 
[01:01.00]不知不覺已變淡 
[01:04.00]心裡愛(誰明白我) 

[03:56.00][03:18.00][02:06.00][01:07.00]原諒我這一生不羈放縱愛自由 
[04:01.00][03:24.00][02:12.00][01:13.00]也會怕有一天會跌倒 
[04:06.00][03:44.00][03:29.00][02:19.00][01:20.00]被棄了理想誰人都可以 
[04:14.00][03:49.00][03:37.00][02:26.00][01:26.00]那會怕有一天只你共我 

[03:05.00]仍然自由自我 
[03:10.00]永遠高唱我歌
[03:13.00]走遍千里