python实现文件的分割与合并


Posted in Python onAugust 29, 2019

使用Python来进行文件的分割与合并是非常简单的。

python代码如下:

splitFile--将文件分割成大小为chunksize的块;

mergeFile--将众多文件块合并成原来的文件;

# coding=utf-8
import os,sys
reload(sys)
sys.setdefaultencoding('UTF-8')
 
class FileOperationBase:
 def __init__(self,srcpath, despath, chunksize = 1024):
 self.chunksize = chunksize
 self.srcpath = srcpath
 self.despath = despath
 
 def splitFile(self):
 'split the files into chunks, and save them into despath'
 if not os.path.exists(self.despath):
 os.mkdir(self.despath)
 chunknum = 0
 inputfile = open(self.srcpath, 'rb') #rb 读二进制文件
 try:
 while 1:
 chunk = inputfile.read(self.chunksize)
 if not chunk: #文件块是空的
 break
 chunknum += 1
 filename = os.path.join(self.despath, ("part--%04d" % chunknum))
 fileobj = open(filename, 'wb')
 fileobj.write(chunk)
 except IOError:
 print "read file error\n"
 raise IOError
 finally:
 inputfile.close()
 return chunknum
 
 def mergeFile(self):
 '将src路径下的所有文件块合并,并存储到des路径下。'
 if not os.path.exists(self.srcpath):
 print "srcpath doesn't exists, you need a srcpath"
 raise IOError
 files = os.listdir(self.srcpath)
 with open(self.despath, 'wb') as output:
 for eachfile in files:
 filepath = os.path.join(self.srcpath, eachfile)
 with open(filepath, 'rb') as infile:
 data = infile.read()
 output.write(data)
 
#a = "C:\Users\JustYoung\Desktop\unix报告作业.docx".decode('utf-8')
#test = FileOperationBase(a, "C:\Users\JustYoung\Desktop\SplitFile\est", 1024)
#test.splitFile()
#a = "C:\Users\JustYoung\Desktop\SplitFile\est"
#test = FileOperationBase(a, "out")
#test.mergeFile()

程序注释部分是使用类的对象的方法。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
从零学Python之入门(三)序列
May 25 Python
解决uWSGI的编码问题详解
Mar 24 Python
python中datetime模块中strftime/strptime函数的使用
Jul 03 Python
对python中if语句的真假判断实例详解
Feb 18 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
Mar 11 Python
PyQt5 实现给窗口设置背景图片的方法
Jun 13 Python
解决python 3 urllib 没有 urlencode 属性的问题
Aug 22 Python
python图片二值化提高识别率代码实例
Aug 24 Python
使用Django搭建web服务器的例子(最最正确的方式)
Aug 29 Python
pandas按行按列遍历Dataframe的几种方式
Oct 23 Python
基于Python中random.sample()的替代方案
May 23 Python
Python使用tkinter制作在线翻译软件
Feb 22 Python
Python配置文件处理的方法教程
Aug 29 #Python
浅谈django url请求与数据库连接池的共享问题
Aug 29 #Python
python 进程的几种创建方式详解
Aug 29 #Python
python 列表推导式使用详解
Aug 29 #Python
django 数据库连接模块解析及简单长连接改造方法
Aug 29 #Python
解决Django连接db遇到的问题
Aug 29 #Python
Python pandas实现excel工作表合并功能详解
Aug 29 #Python
You might like
成本8450万,票房仅2亿,口碑两极分化,又一部DC电影扑街了
2020/04/09 欧美动漫
php实现从ftp服务器上下载文件树到本地电脑的程序
2009/02/10 PHP
使用PHP获取网络文件的实现代码
2010/01/01 PHP
深入解析Session是否必须依赖Cookie
2013/08/02 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
CI框架文件上传类及图像处理类用法分析
2016/05/18 PHP
十分钟打造AutoComplete自动完成效果代码
2009/12/26 Javascript
基于Jquery的文字自动截取(提供源代码)
2011/08/09 Javascript
用html+css+js实现的一个简单的图片切换特效
2014/05/28 Javascript
node.js中的console.info方法使用说明
2014/12/09 Javascript
基于jquery实现的自动补全功能
2015/03/12 Javascript
js+css实现的圆角边框TAB选项卡滑动门代码分享(2款)
2015/08/26 Javascript
javascript html5移动端轻松实现文件上传
2020/03/27 Javascript
jQuery实现点击行选中或取消CheckBox的方法
2016/08/01 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
EditPlus 正则表达式 实战(3)
2016/12/15 Javascript
JavaScript实现计算多边形质心的方法示例
2018/01/31 Javascript
vue构建动态表单的方法示例
2018/09/22 Javascript
从零开始实现Vue简单的Toast插件
2018/12/03 Javascript
用node.js写一个jenkins发版脚本
2019/05/21 Javascript
vue axios重复点击取消上一次请求封装的方法
2019/06/19 Javascript
基于vue实现探探滑动组件功能
2020/05/29 Javascript
Python判断变量是否已经定义的方法
2014/08/18 Python
pygame游戏之旅 添加键盘按键的方法
2018/11/20 Python
详解python函数的闭包问题(内部函数与外部函数详述)
2019/05/17 Python
Django DRF认证组件流程实现原理详解
2020/08/17 Python
python实现企业微信定时发送文本消息的实例代码
2020/11/25 Python
Django权限控制的使用
2021/01/07 Python
浅谈关于html5中图片抛物线运动的一些心得
2018/01/09 HTML / CSS
德国最大的服装、鞋子和配件在线商店之一:Outfits24
2019/07/23 全球购物
英国豪华家具和家居用品购物网站:Teddy Beau
2020/10/12 全球购物
网络体系结构及协议的定义
2014/03/13 面试题
初三学习决心书
2014/03/11 职场文书
初三开学计划书
2014/04/27 职场文书
单位员工收入证明样本
2014/10/09 职场文书
导游词之襄阳古城
2019/09/27 职场文书