Python 视频文件的分割和合并

--分割代码 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])

时间: 2024-08-22 00:42:45

Python 视频文件的分割和合并的相关文章

C#文件的分割与合并

//--------------------文件,分割与合并---------------------------------------- using System.IO /// <summary> /// 单个文件分割函数, /// 可将任意文件fileIn分割为若干个子文件, 单个子文件最大为 len KB /// delet标识文件分割完成后是否删除原文件, change为加密密匙 /// fileIn = "D:\\file.rar", 子文件名形如"D

黑马程序员 IO流 文件的分割与合并

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ----------------------package cn.itcast.IO; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;

java 流操作对文件的分割和合并的实例详解_java - JAVA

文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 java 流操作对文件的分割和合并的实例详解 学习文件的输入输出流,自己做一个小的示例,对文件进行分割和合并. 下面是代码: package com.dufy.file; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import jav

文件的分割与合并

/*文件的分割*/ #include<stdio.h> #include<stdlib.h> #include<string.h> #define NUM 1024 * 1024 * 100 int main() {         //所需分割的文件路径 FILE *fr = fopen("F:\\PL.exe", "rb"); if (fr == NULL) { exit(-1); } char *buff = (char*)

Linux 大文件的分割与合并

1.分割 -- split命令 可以指定按行数分割和按字节大小分割两种模式. (1) 按行数分割 $ split -l 300 large_file.txt new_file_prefix 加上-d,使用数字后缀:加上--verbose,显示分割进度: $ split -l50000 -d large_file.txt part_ --verbose (2) 按字节大小分割 $ split -b 10m large_file.log new_file_prefix 2.合并 -- cat命令 $

对大文件实现分割及合并处理

1 public void cutFile(File bigFile,File destFile,int cutSize){ 2 3 FileInputStream inputStream = null; 4 int size = 1024*1024; //1M 5 try { 6 if (!destFile.isDirectory()){ //如果保存分割文件的地址不是路径 7 destFile.mkdir(); //创建路径 8 } 9 size = size * cutSize; //分割

java实现文件的分割与合并

无非就是io流------------------------------------------------------- 实例类: 1.抽象类 import java.io.File; import java.io.IOException; public abstract class PartitionFile { /** * 单个文件设置的字节数 */ public static long MAX_BYTE = 1024*1024*1000; /** * 获取可以分割的文件数 * * @p

java大文件的分割和合并

import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FilenameFilter; import java.io.SequenceInputStream; import java.util.ArrayList; import java.util.Collections; i

文件分割与合并(Java)

一.文件分割示意图 二.文件合并示意图 方式一:通过文件追加的方式 方式二:通过SequenceInputStream对其他输入流的逻辑串联. 测试RandomAccessFile随机访问文件 package FileSplitMerge; import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; import IOOthers.FileUtil; /** * RandomAccessFil