我有一个相同视频的多个损坏的视频文件我需要将它们作为一个视频再次加入,但是当我尝试这个时
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的东西,但它是第三方应用程序。我只需要一个文件的缓冲区。
答案 0 :(得分: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()