一、Lrc歌词去时间轴转Txt文件

环境:Python2.7.x, Mac(Windows需装cygwin环境,当然你也可以自己改代码,Python新手,勿喷)

# -*- coding: UTF-8 -*-
import re
import sys
import os,shutil
reload(sys)
sys.setdefaultencoding("utf-8")
rootdir = os.getcwd()

def delfile(str):
    if os.path.exists(str):
        os.remove(str)
        print 'delete '+str+' success'
    else:
        print 'no such file:%s'%str

def file_extension(path):
  return os.path.splitext(path)[1]

def fileMove(pathname, dstfile):
    shutil.move(pathname, dstfile)

def delListDir(rootDir):
    for filename in os.listdir(rootDir):
        pathname = os.path.join(rootDir, filename)
        if (os.path.isfile(pathname)):
            fileExt = file_extension(pathname)
            if fileExt == ".txt" :
                delfile(pathname)
        else:
            delListDir(pathname)
delListDir(rootdir+'/../')

def delUnuseWords(str):
    outStr = str
    if str[1:3] == 'ar':
        outStr = str[4:-2]+'\n'
    elif str[1:3] == 'ti':
        outStr = str[4:-2]+'\n'
    else:
        outStr = str[10:]
    return outStr

def writefile(pathname, filename):
    print pathname
    filename = filename.strip('.lrc')
    f_out_path = os.path.abspath(os.path.dirname(rootdir)+os.path.sep+filename+".txt")
    f_out = open(f_out_path,'a')
    file_object = open(pathname,'rU')
    try:
        for line in file_object:
            if  line.count('\n')==len(line):
                continue
            else:
                line = delUnuseWords(line)
                f_out.write(line)
    finally:
         file_object.close()
    f_out.close() 

def listDir(rootDir):
    for filename in os.listdir(rootDir):
        pathname = os.path.join(rootDir, filename)
        fileExt = file_extension(pathname)
        if fileExt == ".lrc":
            if (os.path.isfile(pathname)):
                writefile(pathname, filename)
            else:
                listDir(pathname)

listDir(rootdir)
# writefile(rootdir)
print "恭喜您,转换完成!" 

操作:保存代码为create.py 歌词文件放置于与create.py同目录或同目录下的文件夹里

说明:此脚本主要是方便批量去lrc歌词时间轴,当然你也可以选择用Word去去除时间轴。

二、酷狗APP歌词关联已有krc歌词(仅限于2019年03月28日18:59:29更新,之后更新不管)

步骤:

  1、酷狗自制歌词,可输入任意字符,几行就行,然后随便敲一下,之后保存至本地,则此时本地KuGou/make_lyrics/目录下就会生成歌曲对应的歌词文件

  2、复制生成的歌词文件名,把准备好的krc歌词替换为新文件名,并替换KuGou/make_lyrics/下的歌词文件。

  3、重新播放歌曲就会发现歌词已关联。

总结:利用酷狗生成歌词信息,替换为新的歌词文件。

Python脚本之Lrc歌词去时间轴转Txt文件,附带酷狗音乐APP关联已有krc歌词的更多相关文章

  1. python使用beautifulsoup4爬取酷狗音乐

    声明:本文仅为技术交流,请勿用于它处. 小编经常在网上听一些音乐但是有一些网站好多音乐都是付费下载的正好我会点爬虫技术,空闲时间写了一份,截止4月底没有问题的,会下载到当前目录,只要按照bs4库就好, ...

  2. Python爬虫下载酷狗音乐

    目录 1.Python下载酷狗音乐 1.1.前期准备 1.2.分析 1.2.1.第一步 1.2.2.第二步 1.2.3.第三步 1.2.4.第四步 1.3.代码实现 1.4.运行结果 1.Python ...

  3. Python爬虫:通过做项目,小编了解了酷狗音乐的加密过程

    1.前言 小编在这里讲一下,下面的内容仅供学习参考,切莫用于商业活动,一经被相关人员发现,本小编概不负责!读者切记切记. 2.获取音乐播放列表 其实,这就是小编要讲的重点,因为就是这部分用到了加密. ...

  4. python爬取酷狗音乐排行榜

    本文为大家分享了python爬取酷狗音乐排行榜的具体代码,供大家参考,具体内容如下  

  5. 把 Python 脚本打包成可以直接双击运行的 .exe 文件 【转】

    因为最近要用到 Python 脚本,所以自己学习了一下,顺便学习如何把它打包成 .exe 可执行文件,达到双击运行的效果,网上找了资料,保存下来学习用,原文出处:https://baijiahao.b ...

  6. Python实例---爬去酷狗音乐

    项目一:获取酷狗TOP 100 http://www.kugou.com/yy/rank/home/1-8888.html 排名 文件&&歌手 时长 效果: 附源码: import t ...

  7. python 爬取网络小说 清洗 并下载至txt文件

    什么是爬虫 网络爬虫,也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人.其目的一般为编纂网络索引. 网络搜索引擎等站点通过爬虫软件更新自身的网站内容或其对其他网站的索引.网络爬虫可以 ...

  8. python脚本实现自动保留ctime最近的几个文件

    使用了给字典排序的sorted方法 #!/usr/bin/env python # coding:utf-8 import os def rm_backup(rm_path,days): files_ ...

  9. 使用python脚本批量删除阿里云oss中的mp4文件

    #encoding:utf-8 ''' oss中有一些mp4文件需要删除,首先定位出这些文件放在txt文本中 然后通过python操作oss进行批量删除 ''' import oss2 auth = ...

随机推荐

  1. Python04(基础语法)

    Trainning-day03回顾1.输出重定向 > 将输出到终端的内容输出到指定文件 命令 > 文件 注意: 1.如果文件存在,覆盖原文件 2.如果文件不存在,直接创建新文件2.输出追加 ...

  2. 认识Python 列表和元组

    列表用方括号   l=[['xyz',123], 'abc', 3140000000.0, (23+1.3j), 'ddd'] 元组用圆括号   t=(['xyz', 123],'abc', 3140 ...

  3. 第一次玩博客,今天被安利了一个很方便JDBC的基于Spring框架的一个叫SimpleInsert的类,现在就来简单介绍一下

    首先先对这段代码的简单介绍,我之前在需要操作JDBC的时候总是会因为经常要重新写SQL语句感到很麻烦.所以就能拿则拿不能拿的就简单地封装了一下. 首先是Insert.Spring框架的JDBC包里面的 ...

  4. 浅谈java中的祖先类Object

    首先一道题: public class User{ private String name; private int age; public String getName() { return nam ...

  5. 2018-2019-2 网络对抗技术 20165228 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165228 Exp2 后门原理与实践 (1)例举你能想到的一个后门进入到你系统中的可能方式? 在使用盗版软件,盗版系统,甚至游戏外挂时,往往会让我们关闭杀毒 ...

  6. java数组的定义

    class ArrayDome { public static void main(String[] args) { //元素类型[] 数组名 创建一个 元素类型[元素个数或数组长度] /* 需要一个 ...

  7. Window中显示文件扩展名

    积少成多,欢迎大家关注我的微信公众号,共同探讨Java相关技术 本文主要介绍如何在Windows系统中怎么让文件显示扩展名. 操作步骤 打开控制面板 找到外观和个性化 找到文件资源管理器选项 单击,然 ...

  8. SDKManager无法更新问题解决办法

    用大连东软的镜像代理 配置步骤 启动 Android SDK Manager ,打开主界面,依次选择「Tools」.「Options...」,弹出『Android SDK Manager - Sett ...

  9. npm install 插件 --save与 --save -dev的区别

    npm i 插件   ,会把插件安装到node_modules目录中,不会修改package.json, npm i 插件 --save  ,项目发布上线之后还会依赖用到的插件,没有这些插件,项目不能 ...

  10. 20155219付颖卓《网络对抗》Exp6 信息搜集与漏洞扫描

    基础问题回答 1.哪些组织负责DNS,IP的管理? 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器.DNS和IP地址管理. 全球根域名服务器:绝大多数在欧洲和北美(全球13台 ...