python写歌词解析器 王菲-传奇
歌词切片方式
'''
3.歌词解析器
1.把歌词进行解析切片处理,把时间转成对应的浮点数
2.使用字典将时间与歌词进行存储{时间:歌词}
3.循环自动打印歌词【结束循环的条件,key为None的时候】
'''
import timemusicLrc = '''[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]'''
musicDict = {} #存储时间与对应歌词
musicLrc = musicLrc.strip() #去除歌词前后的空白符
# print(musicLrc)
musicLine = musicLrc.splitlines() #按行切片处理
#[04:31.38][04:01.40][01:57.43]我一直在你身旁 从未走远
print(musicLine)
#'[00:03.50]传奇' 二次切片
for line in musicLine:#去除前后的空白符,按"]"来进行切片lineList = line.strip().split("]")# print(lineList)#[04:01.40 时间# print(lineList[-1]) #歌词for i in range(len(lineList)-1): #遍历除歌词外所有的时间字符串# lineList[i][1:] 取出时间字符串并且去掉前面的"["tList = lineList[i][1:].split(":") #得到分钟与秒,字符串类型print(tList)timeF = float(tList[0])*60 + float(tList[1]) #转为float的时间musicDict[timeF] = lineList[-1] #将歌词与对应的时间进行存储timeList = list(musicDict) #获取到所有时间节点
timeList.sort() #进行排序,升序for index in range(len(timeList)):if index > 0:time.sleep((timeList[index]-timeList[index-1]))else:time.sleep(timeList[0] )print(musicDict.get(timeList[index])) #打印歌词
定义函数方式,将以上内容封装成函数
import timedef getMusicDict(musicLrc):musicDict = {} #存储时间与对应歌词musicLrc = musicLrc.strip() #去除歌词前后的空白符# print(musicLrc)musicLine = musicLrc.splitlines() #按行切片处理#[04:31.38][04:01.40][01:57.43]我一直在你身旁 从未走远#print(musicLine)#'[00:03.50]传奇' 二次切片for line in musicLine:#去除前后的空白符,按"]"来进行切片lineList = line.strip().split("]")# print(lineList)#[04:01.40 时间# print(lineList[-1]) #歌词for i in range(len(lineList)-1): #遍历除歌词外所有的时间字符串# lineList[i][1:] 取出时间字符串并且去掉前面的"["tList = lineList[i][1:].split(":") #得到分钟与秒,字符串类型#print(tList) #打印时间timeF = float(tList[0])*60 + float(tList[1]) #转为float的时间musicDict[timeF] = lineList[-1] #将歌词与对应的时间进行存储return musicDictdef printMusicLrc(musicDict):timeList = list(musicDict) #获取到所有时间节点timeList.sort() #进行排序,升序for index in range(len(timeList)):if index > 0:time.sleep(timeList[index]-timeList[index-1])else:time.sleep(timeList[0] )print(musicDict.get(timeList[index])) #打印歌词musicLrc = '''[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]
'''musicDict = getMusicDict(musicLrc)
printMusicLrc(musicDict)
python写歌词解析器 王菲-传奇相关推荐
- Python 歌词解析器 音乐与歌词同步播放
python 歌词解析器 前言 歌词解析器,顾名思义就是在播放歌曲的时候,音乐播放器放到那一句就显示对应的歌词. *在 python中歌词解析器并不难写,运用 time模块来编写歌词解析器, time ...
- python歌词解析器
python实现歌词解析器 今天掌握到了歌词解析器的python基础语法代码实现,个人觉得挺有意思,便展示出来分享分享 注:展示结果为每过相应的时间,输出端打印相应的歌词 import time #导 ...
- python 歌词解析器传奇 歌词音乐同时输出
''' 歌词解析器:把歌词按照时间节点进行显示. 1.把歌词进行解析切片处理,把时间转成对应的浮点数 2.使用字典将时间与歌词进行存储{时间:歌词} 3.循环自动打印歌词[结束循环的条件,key为No ...
- Go语言写的解析器(支持json,linq,sql,net,http等)
Monkey程序语言 Monkey v2.0版本已发布. monkey v2.0 增加了如下内容: 新增 short arrow(->)支持(类似C#的lambda表达式) 增加 列表推导和哈希 ...
- 【kimol君的无聊小发明】—用python写图片下载器
[kimol君的无聊小发明]-用python写图片下载器 前言 一.单线程版 二.多线程版 写在最后 Tip:本文仅供学习与参考,且勿用作不法用途~ 前言 某个夜深人静的夜晚,我打开了自己的文件夹,发 ...
- [open source]Lrc歌词解析器发布
Lrc歌词解析器发布 最近一段时间专心学习英语,主要是想提高听说能力.从网上下载了<走遍美国>的mp3来听,比较简单,基本上可以听懂.偶尔遇到一个句子比较生僻,我想重新听一遍,我的意思是仅 ...
- python的网页解析器_网页解析器(BeautifulSoup)-- Python
分享一下关于 Python的网页解析器(BeautifulSoup) BeautifulSoup解析器 为了实现解析器,可以选择使用正则表达式.html.parser.BeautifulSoup.lx ...
- 【kimol君的无聊小发明】—用python写论文下载器
[kimol君的无聊小发明]-用python写论文下载器 前言 一.代码分析 1. 搜索论文 2. 下载论文 二.完整代码 写在最后 前言 某个夜深人静的夜晚,夜微凉风微扬,月光照进我的书房~ 当我打 ...
- 【kimol君的无聊小发明】—用python写论文下载器(图形化界面)
[kimol君的无聊小发明]-用python写论文下载器(图形化界面) 前言 一.使用说明 二.代码分析 1. 功能函数 2. 回调函数 3. 线程生成函数 4. 效果展示 写在最后 前言 某个夜深人 ...
- 【kimol君的无聊小发明】—用python写视频下载器
[kimol君的无聊小发明]-用python写视频下载器 前言 一.爬虫分析 1.视频搜索 2.视频下载 二.我的代码 写在最后 Tip:本文仅供学习与参考,且勿用作不法用途~ 前言 某个夜深人静的夜 ...
最新文章
- Gps高程拟合matlab代码,几种GPS高程拟合方法分析与比较.doc
- 美国-5大牛校--8条小牛--14好校--18很不错的大学
- 将图片转换成16进制的代码
- 本地项目上传到gitlab上
- 智能设备破解的那些事儿
- android spp协议,Android蓝牙开发SPP协议通信
- svn提示没有设置冲突_svn代码冲突,不能提交的解决方法
- 论文阅读笔记(一)——DESCENDING THROUGH A CROWDED VALLEY—BENCHMARKING DEEP LEARNING OPTIMIZERS
- java 启动resin,Resin 启动时报错!解决方法
- 微信小程序 满意度调查问卷
- 【Linux】rm -rf 删除命令
- 最新论文阅读(17)--Pyramidal RoR for Image Classification
- Could not find an open hard disk with UUID {57bbe8fe-8b4f-4a0d-aef4-1291b23d2bef}. 返回 代码: VBOX_E_OBJ
- 字节跳动-飞书视频-测试开发面试题
- 利用dns特性把普通域用户提升到域管理员权限
- 使用print.js进行分页打印
- python伪原创工具开发_在线伪原创工具www.bolewei.com的开发过程
- c语言——常见占位符(格式说明)
- 无需域名实现frp多端口内网穿透
- C、C++、JAVA
热门文章
- Python爬虫-爬取开心网主页(有登录界面-利用cookie)
- 祝贺光环2014年6月28日PMP考试通过率90.28%
- 街头卖艺里的故事,你还会相信吗?
- svn process exited with error code: 1
- 第八章:加载Maya2011模型
- 安徽农业大学计算机考研分数线,安徽农业大学考研录取分数线
- 【调参07】不平衡分类问题中分类权重计算与设置
- web前端期末大作业 html+css+javascript网页设计实例 企业网站制作——星利源商贸物流有限公司(毕业设计)
- I Irrational Division
- 计算机中模拟和数字信号,模拟信号和数字信号的区别是什么