2017-04-17 47 views
0

我有一个相同的视频多重破碎的视频文件,我需要重新将它们连接在一起作为一个视频,但是当我尝试这样做打开本地驱动器中的视频文件作为缓冲区,并将其写入新文件

import os 
path = 'C:/temp/test' 
files = os.listdir(path) 
for file in files: 
    mainFile = open('C:/temp/main.mp4','ab') 
    with open(path+'/'+file,'rb') as read: 
     print (read) 
     mainFile.write(read) 
mainFile.close() 

它抛出一个错误说

TypeError: must be string or buffer, not file 

所以我不知道如何制作视频文件缓冲区。我试着用谷歌搜索它,我发现了一个叫ffmpeg的东西,但它是第三方的应用程序。我需要的只是文件的缓冲区。

回答

1

请注意,open()返回一个file对象而不是文件的内容。发生该错误的原因是file对象正在传入write()

您可以拨打read()方法file对象来读取并返回文件的内容。

尝试

import os 
path = 'C:/temp/test' 
files = os.listdir(path) 
for file in files: 
    mainFile = open('C:/temp/main.mp4','ab') 
    with open(path+'/'+file,'rb') as f: 
     mainFile.write(f.read()) 
mainFile.close() 
相关问题