zoukankan      html  css  js  c++  java
  • 歌词解析&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))
  • 相关阅读:
    关于影像颜色替换
    DevExpress TreeList控件的复选框
    深刻理解Vue中的组件
    【Vue】组件的基础与组件间通信
    vue语法糖
    vue中prop传值时加不加v-bind(冒号:)
    Vue从入门到实战
    vue-router实现原理
    Vue学习笔记——Vue-router
    Vue-router 学习笔记
  • 原文地址:https://www.cnblogs.com/wenjiangtao/p/10544385.html
Copyright © 2011-2022 走看看