python拆分合并文件_Python 视频文件的分割和合并

import os;

import time;

os.system('start "wmplayer.exe", "F:\\abc.mp4"');

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472279.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[笔记]Go语言写文件几种方式性能对比

Go语言中写文件有多种方式,这里进行如下几种方式的速度对比: 打开文件,写入内容,关闭文件。如此重复多次打开文件,写入内容,defer 关闭文件。如此重复多次打开文件,重复多次写入内容&#xff0c…

【机器学习】sklearn数据集获取、分割、分类和回归

sklearn数据集1、数据集划分1.1 获取数据1.2 获取数据返回的类型举个栗子:1.3 对数据集进行分割举个栗子:2、 sklearn分类数据集3、 sklearn回归数据集1、数据集划分 机器学习一般的数据集会划分为两个部分: 训练数据:用于训练&a…

LeetCode 1846. 减小和重新排列数组后的最大元素

文章目录1. 题目2. 解题1. 题目 给你一个正整数数组 arr 。请你对 arr 执行一些操作(也可以不进行任何操作),使得数组满足以下条件: arr 中 第一个 元素必须为 1 。任意相邻两个元素的差的绝对值 小于等于 1 ,也就是…

ftp可以传输什么类型文件_FTP文件传输工具-ForkLift for Mac

orklift mac版是一款运行在Mac平台上的FTP文件传输工具。ForkLift拥有经典的两栏界面布局,简洁小巧。且支持FTP,SFTP,WebDAV,S3,iDisk,SMB,AFP和NIS协议,可以方便用户对本地以及远程…

1过程流程图 3 apqp_为什么过程开发的平面布置图要遵循精益原则?

今日话题为什么过程开发的平面布置图要遵循精益原则?问为什么过程开发的平面布置图要遵循精益原则?答工艺工程师根据过程流程图制定平面布置图,采用精益制造的原则,对加工与装配工位、物流路线、存储位置进行规划,以确…

把Scala代码当作脚本运行

1. 在类UNIX系统上作为脚本运行 在类Unix系统上,你可以设置一个shell前导词来执行脚本。如下例: Script.scala #!/usr/bin/env scala !# println("Hello" args(0)) 先输入chmod x Script.scala,确保对Script.scala文件有执行权限。…

LeetCode 1847. 最近的房间(排序离线计算 + 二分查找)

文章目录1. 题目2. 解题1. 题目 一个酒店里有 n 个房间,这些房间用二维整数数组 rooms 表示,其中 rooms[i] [roomIdi, sizei] 表示有一个房间号为 roomIdi 的房间且它的面积为 sizei 。每一个房间号 roomIdi 保证是 独一无二 的。 同时给你 k 个查询&…

用python写一个手机app签到脚本_利用Python实现App自动签到领取积分

要自动签到,最简单的是打开页面分析请求,然后我们用脚本实现请求的自动化。但是发现食行没有页面,只有 APP,这不是一个好消息,这意味着需要抓包处理了。有需要Python学习资料的小伙伴吗?小编整理【一套Python资料、源…

el表达式 循环_EL表达式和JSTL标签库(百战程序员047天)

1.EL表达式介绍:是一种非常简洁的表达式,语法简单,便于使用,灵感来源于ECMAScript和Xpath的表达式语言样式:${表达式}作用:简化jsp中获取作用域或者请求数据的写法。获取请求数据EL表达式1)获取请求数据(1)…

【机器学习】sklearn k-近邻算法

sklearn k-近邻算法1. sklearn k-近邻算法API2. k近邻算法实例-预测入住位置核心思想:你的“邻居”来推断出你的类别定义:如果一个样本在特征空间中的 k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。…

openresty package.path require 报错

在文件中 package.path /usr/local/share/lua/5.1/?.lua;/usr/local/openresty/lualib/resty/?.lua; package.cpath /usr/local/lib/lua/5.1/?.so;执行local mysql require "mysql" --正确local mysql require "resty.mysql" --报错去掉 package.pa…

LeetCode 1849. 将字符串拆分为递减的连续值(回溯)

文章目录1. 题目2. 解题1. 题目 给你一个仅由数字组成的字符串 s 。 请你判断能否将 s 拆分成两个或者多个 非空子 字符串 ,使子字符串的 数值 按 降序 排列,且每两个 相邻子字符串 的数值之 差 等于 1 。 例如,字符串 s "0090089&q…

axure选中后横线切换_Axure8.0|动态面板内容简单切换技巧

无论做web段还是移动端,常常会用到动态面板固定在某个区域来变换内容,达到节省空间的作用,今天分享的就是如何实现这种方式。预览效果:一、元件准备以IT/互联网、设计创作、职场金融这三组为例,所涉及到的元件分别为it…

flutter text 最大长度_Flutter小技巧之TextField换行自适应

无论哪种界面框架输入文本框都是非常重要的控件, 但是发现flutter中的输入框TextField介绍的虽然多,但是各个属性怎么组合满足需要很多文章却说不清楚, 再加上控件版本变更频繁很多功能的介绍都是比较陈旧的属性.现在就需要一个类似微信的输入文本框, 这样一个非常实用的效果fl…

【机器学习】分类算法sklearn-朴素贝叶斯算法

分类算法-朴素贝叶斯算法1. 概率基础2. 朴素贝叶斯介绍3. sklearn朴素贝叶斯实现API4. 朴素贝叶斯算法案例1. 概率基础 概率定义为一件事情发生的可能性:扔出一个硬币,结果头像朝上;某天是晴天 联合概率和条件概率“”: 联合概率…

收集的电影网站

迅播影院-Gvod Player-Gvod电影-迅雷电影下载动漫下载|BT|漫画|动画|游戏 - 极影动漫一路电影网-高清电影下载_1080p电影下载_蓝光电影下载_3d电影下载天天美剧人人影视电影天堂电影FMTorrentProject - Torrent Search EngineBT Kitty - Professional torrent searc…

LeetCode 1851. 包含每个查询的最小区间(排序 + 离线查询 + 优先队列)

文章目录1. 题目2. 解题1. 题目 给你一个二维整数数组 intervals ,其中 intervals[i] [lefti, righti] 表示第 i 个区间开始于 lefti 、结束于 righti(包含两侧取值,闭区间)。 区间的 长度 定义为区间中包含的整数数目&#xff…

canvas 判断哪个元素被点击_监听 Canvas 内部元素点击事件的三种方法

canvas内部元素不能像DOM元素一样方便的添加交互事件监听,因为canvas内不存在“元素”这个概念,他们仅仅是canvas绘制出来的图形。这对于交互开发来说是一个必经障碍,想要监听图形的点击事件思路很简单,只要监听canvas元素本身的点…

git 查看某些文档的历史版本_Git 教程(二)log 命令的使用

使用 Git 进行版本控制时,要习惯他的工作流程,Git 的工作流程是,先在工作区创建项目并编写代码,然后将写好的文件添加到暂存区,最后将暂存区里的文件提交到历史版本库。如下图所示:每向版本历史库做一次提交…

【机器学习】sclearn分类算法-决策树、随机森林

分类算法-决策树、随机森林1.决策树1.1 认识决策树1.2 信息论基础-银行贷款分析1.3 决策树的生成1.4 决策树的划分依据之一-信息增益1.5 sklearn决策树API1.6 泰坦尼克号乘客生存分类2. 集成学习方法-随机森林1.决策树 1.1 认识决策树 决策树思想的来源非常朴素,程…