一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python修改MP3文件的方法

Python修改MP3文件的方法

2020-07-15 10:23Sephiroth Python

這篇文章主要介紹了Python修改MP3文件的方法,可實現刪除MP3中圖片文件的功能,需要的朋友可以參考下

本文實例講述了Python修改MP3文件的方法。分享給大家供大家參考。具體如下:

用這個程序修改后的MP3比原來要小一些了,因為一張圖片被刪除了,起到了給MP3"瘦身"的作用。在一些mp3中,每個都有一張400多K的圖片,10幾個MP3,就相當一個普通MP3文件的大小了。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# -*- 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)<<21) | ((size1&0x7f)<<14) | ((size2&0x7f)<<7) | (size3&0x7f))
filesize = filesize - headSize
destfp = None
try:
dataLen = 0
destfp = open(destFile,'wb')
srcfp.seek(headSize,1)
data=srcfp.read(1024)
while (data!= ''):
destfp.write(data)
data=srcfp.read(1024)
except Exception,e:
print '創建文件'+destFile+'錯誤',e
try:
if (destfp != None):
destfp.close
except Exception,de:
print de
else:
print srcFile+'不需要修改 拷貝',
try:
shutil.copyfile(srcFile,destFile)
except Exception, ce:
print ce
except Exception,oe:
print '修改中出錯',oe
try:
if (srcfp != None):
srcfp.close()
except Exception,se:
print de
if __name__ == "__main__":
if(len(sys.argv)<3):
usage(1)
global process
sourceDir = checkDir(sys.argv[1])
destDir = checkDir(sys.argv[2],True)
print 'Mp3源目錄',sourceDir
print 'Mp3目的目錄',destDir
process = Process('...',1)
pause = threading.Event()
process.setPause(pause)
process.start()
for filename in os.listdir(sourceDir):
srcPath = os.path.join(sourceDir, filename)
destPath = os.path.join(destDir, filename)
if os.path.isfile(srcPath):
print '開始處理 '+filename,
tempfilename = filename.lower()
if(not tempfilename.endswith(mp3suffix)):
print filename+'不是一個mp3文件\n'
else:
pause.set()
clearMp3(srcPath,destPath)
pause.clear()
print '結束 \n'
pause.set()
process.running = False
sys.exit(0)

希望本文所述對大家的Python程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 4hu四虎永久网址 | 香蕉免费一区二区三区在线观看 | 亚洲丰满女人ass硕大 | 亚洲欧美另类第一页 | chinese踩踏调教vk | 特黄未满14周岁毛片 | 国产hd老头老太婆 | 色综合色狠狠天天综合色 | 成年性香蕉漫画在线观看 | 日本美女视频韩国视频网站免费 | 国产在线看片护士免费视频 | 国产高清dvd | 久久精品热在线观看30 | 男女男精品视频 | 色老大在线 | 91精品国产91久久久久久 | 久久综合视频网站 | 日韩亚洲人成网站在线播放 | 亚洲码和乱人伦中文一区 | 爱欲荡漾在线观看 | 公妇仑乱在线观看 | 日本亚洲欧洲高清有码在线播放 | 亚洲波多野结衣日韩在线 | 亚洲+欧美+国产+综合 | 高h喷水荡肉爽文np肉色文 | 超高清欧美同性videos | 婷婷精品 | 毛片一区二区三区提莫影院 | 国产久热精品 | 久久亚洲国产成人影院 | 成人精品区| 久久伊人影视 | 亚洲国产麻豆 | 男人在女人下面狂躁 | 亚洲高清无在码在线电影 | 精品无人区乱码1区2区3区免费 | xxxx野外性xxxx | 国产一级精品高清一级毛片 | 国产第一自拍 | 日本在线观看免费高清 | www.日日爱|