MP3标题重命名以及文本去掉模板尾巴

最近在练习英语听说,跟读VOA。资料在VOA英语网上下载的,在此感谢版主的收集资料。

不过,听的时候遇到两个小问题,现在用python解决,开始的时候还在网上找相关软件,完全忽略了python工具的强大,就这一点,也该记下来。

哪两个问题呢:一是VOA英语网上的文本有他们自己的模板,在txt后面加几行小尾巴,打印的时候很是碍眼;二是音频mp3中标题是统一命名,可惜我手机不识别喜闻乐见的文件名,只按文件的标题名排序,可惜了我的大华为手机的小bug。

分开来说:

一、txt文本的批处理掉文件小尾巴:

#coding:utf-8
import os

dir='D:/test/www.tingvoa.com'	#下载解压后的文件,还没想过怎么支持中文路径,先用最省事的方式吧,手动改文件名
out='d:/test/out/aa.txt'	#输出文件夹
#os.mkdir(out)
fo=open(out,'a')
for i in os.listdir(dir):
    txt=i.split('.')[-1]
    if txt!='txt':continue
    with open(dir+'/'+i,'r')as fi:
        lines=fi.readlines()[:-23]	#文本尾巴的长度,简单就好
        fo.writelines(lines)
        

代码只是功能性的,文件格式是模板造的,所以代码也简单到爆

二、MP3文件的标题重命名:首先感谢下pcode的代码,让我对文件认识有了更高的认识。


#coding:utf-8

import os
import struct

name=os.listdir('d:/test/20')
for n in name:
    if n.split('.')[-1]!='mp3':continue
    with open(n,'rb') as f:
        f.seek(-128,2)	#MP3最后128字节中保存了一些文件信息,了解更多看上面的pcode
        data=f.read()
        title=n.split('.')[0]
        str=struct.pack('3s30s95s','TAG'.encode('utf-8'),title.encode('utf-8'),data[33:])	#struct挺好,将变量按格式组织在一起
        #print(str)		#struct.pack有一点,它需要byte格式。转byte格式查看这儿。
        f.seek(0,0)
        data=f.read()[:-128]
        data=data+str
    if not os.path.exists('d:/test/ooo/'):os.mkdir('d:/test/ooo/')    
    with open('d:/test/ooo/'+n,'wb') as f:
        f.write(data)
python用来解决生活中的事情,方便很多,想想当初还为这些小事好一番百度,想找相关的软件,费了个劲。还是python好。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值