Python修改MP3文件的方法
程序员文章站
2022-05-06 13:57:25
...
本文实例讲述了Python修改MP3文件的方法。分享给大家供大家参考。具体如下:
用这个程序修改后的MP3比原来要小一些了,因为一张图片被删除了,起到了给MP3"瘦身"的作用。在一些mp3中,每个都有一张400多K的图片,10几个MP3,就相当一个普通MP3文件的大小了。
# -*- coding: cp936 -*- """ 将MP3文件中的ID3V2.3部分去掉,以便在MP3机上播放 用法:mp3lcear [源mp3目录] [生成的mp3目录] """ import sys import os import string import shutil import struct import thread import threading import time mp3suffix = 'mp3' class Process(threading.Thread): """ 简单地在运行的过程中显示进度 """ def __init__(self,msg,sleepTime): threading.Thread.__init__(self) self.msg = msg self.running = True self.sleepTime = sleepTime def setPause(self,pause): self.pause = pause def setRunning(self,running): self.running = running def run (self): while(self.running): self.pause.wait() print self.msg, time.sleep(self.sleepTime) def usage(code, msg=''): """ 程序的使用方法 """ print >> sys.stderr, __doc__ if msg: print >> sys.stderr, msg sys.exit(code) def checkDir(argDir,create=False): """ 检查目录是否存在,如果create为Ture,则新建一个目录 """ tempDir = None if(not os.path.isdir(argDir)): currentDir = os.path.abspath(os.curdir) tempDir = os.path.join(currentDir,argDir) if(not os.path.isdir(tempDir) and create): os.mkdir(tempDir) else: usage(1,"目录"+argDir+"不存在") else: tempDir = os.path.abspath(argDir) return tempDir def clearMp3(srcFile,destFile): """ 修改mp3文件,并将其创建到destFile所指定的地址 """ global process srcfp = None filesize = os.path.getsize(srcFile) try: srcfp = open(srcFile,'rb') head = srcfp.read(3) if(head=='ID3'): srcfp.seek(3,1) size = srcfp.read(4) if(not len(size)==4): print srcFile+'文件格式错误' else: size0 = struct.unpack('b',size[0])[0] size1 = struct.unpack('b',size[1])[0] size2 = struct.unpack('b',size[2])[0] size3 = struct.unpack('b',size[3])[0] headSize =(((size0&0x7f)希望本文所述对大家的Python程序设计有所帮助。
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频