python使用dos命令将多个文件拼接成一个

情景:我用python爬取了很多.ts的文件,他们是一个个只有几秒的短视频,现在想把它们合并成一个电影:

合并的命令  

copy /b *.ts new_name.mp4

/b是以二进制的形式合并:

现在我要执行的命令为 :copy /b  D:\pythonFetch\movie\20190905\*.ts D:\pythonFetch\movie\20190905\new.mp4

及将D:\pythonFetch\movie\20190905\文件夹下所有的.ts后缀的文件以二进制复制到一个名为new.mp4的文件

os.system('copy /b %s\\*.ts %s\\%s.mp4' % ("D:\\pythonFetch\\movie\\20190905",  "D:\\pythonFetch\\movie\\20190905","new"))

其中的%s可以理解为占位符,会将第一个%s替换成 

D:\\pythonFetch\\movie\\20190905

会将第二个%s替换成 

D:\\pythonFetch\\movie\\20190905

第三个%s替换成,也就是我复制后的名字

new

复制完后,有了新的new.ts,是所有的小的ts复制并拼接的,但是这个命令只是复制,我们应该把那些短ts删掉,

使用

os.system('del %s\\*.ts' % ("D:\\pythonFetch\\movie\\20190905"))

及,删除D:\pythonFetch\movie\20190905\下的所有ts文件,剩下的就是完整的名为new.mp4的电影咯。

有一个地方需要注意,比如我现在有10个ts文件,1.ts, 2.ts, 3.ts,   ....  10.ts,

我合并的时候出现:

python使用dos命令将多个文件拼接成一个_第1张图片

发现了没,顺序不对,因此合成的视频也有问题,不能正常观看,怎么办???

答:将文件名按照 001.ts  002.ts  003.ts   004.ts   005.ts   006.ts  ... 010.ts的方式命名,再复制时便会按照顺序:

python使用dos命令将多个文件拼接成一个_第2张图片

emmm,大功告成哈

你可能感兴趣的:(python知识岁碎片)