昨天试着写过一次歌词解析,不过想了半天都没什么头绪就在网上浏览了各位网友的代码,有了思路后自己写了下,今天又为了记忆重新写了次,并做了部分优化。

歌词是这样的:

[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]走遍千里

http://lrc.bzmtv.com

代码如下:

from sys import pathdef lyricRaad(path):with open(path,"r+",encoding="utf-8") as f:lyricList = f.readlines()# print(lyricList)
        '''
        lyricDict:该字典的key与value值分别用来存放播放时间和歌词
        '''
        lyricDict = {}sortList = []for lyi in range(len(lyricList)):lyricList[lyi] = lyricList[lyi].replace("["," ")lineList = lyricList[lyi].split("]")# print(lineList)
            '''
                如果lineList最后的元素是"\n"的话就直接开始下次循环,因为这个值要存到dictValue里
            '''
            if lineList[-1] == "\n":continue
            '''
                dictValue存的是歌词
            '''
            dictValue = lineList[-1]# print(dictValue)
            for linei in range(len(lineList)-1):linek = lineList[linei].split(":")'''
                    time:总时间
                '''
                time = float(linek[0])*60 + float(linek[1])lyricDict[time] = dictValuesortList.append(time)sortList.sort()'''
        尝试通过时间来输出歌词
    '''
    for now in range(int(sortList[-1]+1)):for pttime in sortList:# print(pttime)
            if now == int(pttime):print(lyricDict[now])from time import sleepsleep(1)print("歌词输出完毕。")'''
     歌词文件与本文件在同个文件夹,获取这个目录,当然你也可以填入其他歌词目录。
'''
# print(path)
lyricPath = "C:\\Python34\\workspace\\text\\A6_9_18\\海阔天空.lrc"
lyricRaad(lyricPath)
这里是运行结果。

还是新手,如果有什么不规范的地方和错误欢迎指出。。

Python3 歌词解析的练习相关推荐

  1. iOS 音乐播放器之锁屏效果+歌词解析

    概述 功能描述:锁屏歌曲信息.控制台远程控制音乐播放:暂停/播放.上一首/下一首.快进/快退.列表菜单弹框和拖拽控制台的进度条调节进度(结合了QQ音乐和网易云音乐在锁屏状态下的效果).歌词解析并随音乐 ...

  2. Python中歌词解析

    分析: 1.对于歌词解析这个事情,本质上就是对字符串进行切片. 2.首先要讲时间与歌词分开 3.将时间的24时格式转为数字形式,作为字典的key,而歌词作为字典的value 可以直接使用:dict[k ...

  3. python歌词解析器

    python实现歌词解析器 今天掌握到了歌词解析器的python基础语法代码实现,个人觉得挺有意思,便展示出来分享分享 注:展示结果为每过相应的时间,输出端打印相应的歌词 import time #导 ...

  4. iOS 歌词解析(lrc, 非谓词, 仿QQ音乐, 仿卡拉ok模式)

    前言 要解析 lrc 格式的歌词, 首先需要知道什么是 lrc 歌词, 还需要知道 lrc 歌词的规范. 在这里先放出一个百度百科的链接地址, 仅供大家参考: 百度百科: lrc 关于本文 本文的歌词 ...

  5. 正则表达式案例练习-封装工具函数歌词解析和时间格式化

    文章目录 正则表达式案例练习 案例一: 歌词解析 案例二: 时间格式化 正则表达式案例练习 案例一: 歌词解析 我们模拟从服务器拿到歌词, 要求根据歌曲播放的时间展示对应的歌词 我们从服务器获取过来的 ...

  6. js网易云歌词解析处理,

    网易云歌词解析之显示 废话不多说,直接上代码,请仔细亲手跟着写一遍, 如果你看懂了,记得点赞 <!DOCTYPE html> <html><head><met ...

  7. 设计模式学习(四):基于Builder模式的歌词解析器

    一.前言 上篇文章(设计模式学习(三):生成器(Builder)模式)记录了 Builder 模式的具体内容,这次使用C语言来实现一个实际的例子--基于Builder模式的歌词解析器. 本文的示例来自 ...

  8. 用javaScript编写lrc歌词解析器

    如果想要了解如何编写的请继续往下看,如果只需要代码,请点击这里Github lrc歌词文件介绍 来先看一下以下歌词 Heart To Heart.lrc [ti:Heart To Heart] [ar ...

  9. iOS电商常见动画与布局、微信悬浮窗、音乐播放器、歌词解析、拖动视图等源码

    iOS精选源码 MXScroll 介绍 混合使用UIScrollView ios 电商demo(实现各种常见动画效果和页面布局) 一行代码集成微信悬浮窗 可拖动,大小的视图,可放置在屏幕边缘. 在使用 ...

最新文章

  1. 《线性代数》概念定理大全!
  2. Java 到底是值传递还是引用传递
  3. 笔记-中项案例题-2019年下-整体管理
  4. qt如何提前jpg文件里的缩略图_如何去捕获和编辑H5制作软件Hype中的海报图像
  5. JAVA多线程学习3--线程一些方法
  6. 在Java里如何给一个日期增加一天
  7. 技巧:在 C/C++中如何构造通用的对象链表
  8. python中isinstance(3、object)_python中isinstance函数判断各种类型的小细节
  9. 实用ExtJS教程100例-001:开天辟地的Hello World
  10. DEVC++中的 “万能头文件” <bits/stdc++.h>
  11. dorado7.x关闭子页面,刷新父页面
  12. java开发app_使用java制作app教程
  13. 安卓手机管理器_安卓如何看撤回的微信
  14. 微信小程序开发语言(微信小程序开发教程)详细步骤
  15. php动态创建菜单,php创建无限级树型菜单
  16. 自动生成无课表(云南农业大学)
  17. 财路网每日原创推送:2019年区块链在企业应用中扮演的角色
  18. jdk1.8、jre1.8运行环境下载安装与环境配置
  19. 蓝桥杯python-找单词出现次数最多的字母
  20. 精细化ASO帮助开发者在App Store中突围

热门文章

  1. python 动图_历时 1 个月,做了 10 个 Python 可视化动图,用心且精美...
  2. 初级会议演讲者的建议
  3. 作文组装计算机,组装机器人作文
  4. linux ubuntu 22.04双屏显示颜色变绿问题解决
  5. iwpriv ra0 show stat 与 iwpriv ra0 stat 是有区别的
  6. Numpy和Pandas性能改善的方法和技巧
  7. 数组的定义和声明和创建
  8. 【转】PHP CURL 教学
  9. IT业史上最棒的图片之一
  10. swift 时间选择器第三方。公历转农历,农历转公历(原创文章转载必究)