Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从本地驱动器打开视频文件作为缓冲区,并将其写入新文件_Python_File_Video_Ffmpeg_Buffer - Fatal编程技术网

Python 从本地驱动器打开视频文件作为缓冲区,并将其写入新文件

Python 从本地驱动器打开视频文件作为缓冲区,并将其写入新文件,python,file,video,ffmpeg,buffer,Python,File,Video,Ffmpeg,Buffer,我有多个破碎的视频文件的一个相同的视频,我需要把他们一起作为一个视频再次,但当我尝试这个 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.wri

我有多个破碎的视频文件的一个相同的视频,我需要把他们一起作为一个视频再次,但当我尝试这个

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的东西,但它是一个第三方应用程序。我所需要的只是一个文件的缓冲区。

请注意,open返回的是一个文件对象,而不是文件的内容。发生此错误的原因是正在将文件对象传递到写入

您可以调用文件对象的read方法来读取和返回文件的内容

试一试

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()