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字典的方法详解
Aug 31 Python
Windows 7下Python Web环境搭建图文教程
Mar 20 Python
Python 实现使用dict 创建二维数据、DataFrame
Apr 13 Python
Python UnboundLocalError和NameError错误根源案例解析
Oct 31 Python
Python实现使用request模块下载图片demo示例
May 24 Python
使用Python实现将list中的每一项的首字母大写
Jun 11 Python
Python流程控制 while循环实现解析
Sep 02 Python
关于Python-faker的函数效果一览
Nov 28 Python
python如何求100以内的素数
May 27 Python
Python爬虫爬取新闻资讯案例详解
Jul 14 Python
图解Python中深浅copy(通俗易懂)
Sep 03 Python
Django migrate报错的解决方案
May 20 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
用PHP制作静态网站的模板框架(一)
2006/10/09 PHP
smarty section简介与用法分析
2008/10/03 PHP
实例讲解PHP设计模式编程中的简单工厂模式
2016/02/29 PHP
JavaScript 编程引入命名空间的方法
2007/06/29 Javascript
9个JavaScript评级/投票插件
2010/01/18 Javascript
js中top/parent/frame概述及案例应用
2013/02/06 Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
2013/05/07 Javascript
基于jquery异步传输json数据格式实例代码
2013/11/23 Javascript
JS实现鼠标单击与双击事件共存
2014/03/08 Javascript
javascript中attribute和property的区别详解
2014/06/05 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
2015/03/03 Javascript
Jquery attr()方法 属性赋值和属性获取详解
2016/04/15 Javascript
jquery实现输入框实时输入触发事件代码
2016/12/21 Javascript
ng-options和ng-checked在表单中的高级运用(推荐)
2017/01/21 Javascript
微信小程序 扎金花简单实例
2017/02/21 Javascript
JS实现一个简单的日历
2017/02/22 Javascript
vue引用js文件的多种方式(推荐)
2018/05/17 Javascript
vue2中,根据list的id进入对应的详情页并修改title方法
2018/08/24 Javascript
vue实现文字加密功能
2019/09/27 Javascript
wxPython框架类和面板类的使用实例
2014/09/28 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
2020/04/23 Python
python 列表删除所有指定元素的方法
2018/04/19 Python
python 查找文件名包含指定字符串的方法
2018/06/05 Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
2018/06/19 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
2018/12/07 Python
使用Python做定时任务及时了解互联网动态
2019/05/15 Python
python获取磁盘号下盘符步骤详解
2019/06/19 Python
python opencv pytesseract 验证码识别的实现
2020/08/28 Python
Canvas绘制浮动球效果的示例
2017/12/29 HTML / CSS
详解HTML5中CSS外观属性
2020/09/10 HTML / CSS
英国名牌男装店:Standout
2021/02/17 全球购物
关于Assembly命名空间的三个面试题
2015/07/23 面试题
高级Java程序员面试题
2016/06/23 面试题
小学教师听课制度
2014/02/01 职场文书
革命先烈的英雄事迹材料
2014/02/15 职场文书
2015年度招聘工作总结
2015/05/28 职场文书