歌词解析&class
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))
歌词解析&class的更多相关文章
- android 歌词解析
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.F ...
- OC3_歌词解析
// // LrcManager.h // OC3_歌词解析 // // Created by zhangxueming on 15/6/15. // Copyright (c) 2015年 zhan ...
- ios开发学习- 简易音乐播放器2 (基于iPhone4s屏幕尺寸)-- 歌词解析--plist文件应用--imageNamed图片加载耗内存
声明:(部分图片来自网络,如果侵犯了您的权益请联系我,会尽快删除!) 又是音乐播放器,不过这次和上次不一样了,准确说这次更像播放器了,初学者不建议看这个,可以先看前面一个音乐播放器(1),当然 我没加 ...
- iOS 音乐播放器之锁屏效果+歌词解析
概述 功能描述:锁屏歌曲信息.控制台远程控制音乐播放:暂停/播放.上一首/下一首.快进/快退.列表菜单弹框和拖拽控制台的进度条调节进度(结合了QQ音乐和网易云音乐在锁屏状态下的效果).歌词解析并随音乐 ...
- iOS电商常见动画与布局、微信悬浮窗、音乐播放器、歌词解析、拖动视图等源码
iOS精选源码 MXScroll 介绍 混合使用UIScrollView ios 电商demo(实现各种常见动画效果和页面布局) 一行代码集成微信悬浮窗 可拖动,大小的视图,可放置在屏幕边缘. 在使用 ...
- C语言之歌词解析
0x00 脚下的路 不知道为啥要写这个小标题,可能是年轻的心想体验一下苍老的感觉,抑或是少年的一阵迷茫.混沌的四年,终究还是入了这一行.从初时的不知,到现在的刚开始,中间的间隔竟是四年之久,想起了陈奕 ...
- 网易云歌词解析(配合audio标签实现本地歌曲播放,歌词同步)
先看下效果 github上做的一个音乐播放器: https://github.com/SorrowX/electron-music 中文歌曲 英文歌曲(如果有翻译的中文给回返回出去) 韩文歌曲 来看下 ...
- Objective-C歌词解析
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { FILE* fp1;//定义文件指针 ...
- python 将歌词解析封装成类,要求:提供一个方法(根据时间返回歌词) - 提示:封装两个类:歌词类、歌词管理类
自己写的 有更好方案的大佬可以讨论一下 import bisectclass Lrc(): def __init__(self, sec, lrc): self.sec = sec self.lrc ...
随机推荐
- Spring mvc与Struts2的比较
1. 机制:spring mvc的入口是servlet,而struts2是filter,这样就导致了二者的机制不同. 2. 性能:spring会稍微比struts快.spring mvc是基于方法的设 ...
- js 基于可视区域 创建展示区域对应的经纬度二维数组
本篇文章主要是分享下基于地图区域创建经纬度二维数组,需要的朋友可以过来参考下 接上个文章, 基于 地图区域,算出这个展示区域对应的点. 经纬度的变化关系: XY页面展示上, 从左到右维度是增加 如: ...
- Windows 10 Framework 3.5 _x64 离线安装包 最新安装版
原文:http://www.jb51.net/softs/325481.html Windows 10 Framework 3.5 离线安装包,适用于 Win10 和 Server 2016 离线安装 ...
- Android LinkedList和ArrayList的区别
LinkedeList和ArrayList都实现了List接口,但是它们的工作原理却不一样.它们之间最主要的区别在于ArrayList是可改变大小的数组,而LinkedList是双向链接串列(doub ...
- Linux开篇
1.为什么学习Linux? 2.学习Linux的资料
- Vue 框架-02-事件:点击, 双击事件,鼠标移上事件
Vue 框架-02-事件:点击, 双击事件,鼠标移上事件 1.单击事件:v-on:click 源码 app2.js : //实例化 vue 对象 new Vue({ //注意代码格式 //el:ele ...
- DrawerLayout使用
1 :DrawerLayout侧边栏用于实现如图所示的效果:
- 结对编程项目总结(core2组)
结对编程项目总结(core2组) 作业---四则运算(Core 第二组) ----by 吴雪晴 PB16061514 齐天杨 PB16060706 一.项目简介 项目的任务为制作一个给(貌似是?) ...
- 用jsp实现网站登录界面的制作,并连接数据库
课堂测试 任务需求: 撰写一篇博客 需要网站系统开发需要掌握的技术: 本次课堂测试的源程序代码: 运行结果截图: 说明课堂测试未按时完成的原因. 列出你对这门课的希望和自己的目标,并具体列出你计划每周 ...
- [TOP10]最受欢迎的10个Metasploit模块和插件
很多人都想知道最受欢迎的10个Metasploit模块和插件是什么(TOP10),事实上这是一个很难回答的问题,因为什么才叫"Top"?我想每个人都有每个人的看法.于是我们通过调查 ...