Python 视频文件的分割和合并
import os;
import time;
os.system('start "wmplayer.exe", "F:\\abc.mp4"');
--分割代码 start----
import sys,os;
kilobytes = 1024;
megabytes = kilobytes*1024;
chunksize = int(10*megabytes);
def split(fromfile,todir,chunksize=chunksize):
if not os.path.exists(todir):
os.mkdir(todir)
else:
for fname in os.listdir(todir):
os.remove(os.path.join(todir,fname))
partnum = 0
inputfile = open(fromfile,"rb")
while True:
chunk = inputfile.read(chunksize)
if not chunk:
inputfile.close()
break
partnum += 1
filename = os.path.join(todir, ("abc%04d"%partnum))
print("我要显示的文件名称:"+filename)
fileobj = open(filename, "wb")
fileobj.write(chunk)
fileobj.close()
return partnum
if __name__=="__main__":
fromfile = "F:\\abc.mp4"
todir = "F:\\split_parts\\"
#chunksize = int(5000000)
absfrom,absto = map(os.path.abspath,[fromfile,todir])
print('分割:',absfrom,'to',absto,'by',chunksize)
try:
parts = split(fromfile,todir,chunksize)
except:
print('Error during split:')
print(sys.exc_info()[0],sys.exc_info()[1])
else:
print('分割完成:',parts,'parts are in',absto)
--合并代码 start----
import sys,os
def joinfile(fromdir,filename,todir):
if not os.path.exists(todir):
os.mkdir(todir)
if not os.path.exists(fromdir):
print("合拼文件路径错误!")
outfile = open(os.path.join(todir,filename),"wb")
files = os.listdir(fromdir)
files.sort()
for file in files:
filepath = os.path.join(fromdir,file)
infile = open(filepath,"rb")
data = infile.read()
outfile.write(data)
infile.close()
outfile.close()
if __name__=="__main__":
fromdir = "F:\\split_parts\\"
todir = "F:\\split_parts\\"
filename = "abc.mp4"
try:
joinfile(fromdir,filename,todir)
except:
print("错误的连接文件:")
print(sys.exc_info()[0],sys.exc_info()[1])
相关文章