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中列表(list)操作方法汇总
Aug 18 Python
Python itertools模块详解
May 09 Python
用Python写冒泡排序代码
Apr 12 Python
浅谈python jieba分词模块的基本用法
Nov 09 Python
浅谈django orm 优化
Aug 18 Python
python学习之hook钩子的原理和使用
Oct 25 Python
对python中字典keys,values,items的使用详解
Feb 03 Python
python实现共轭梯度法
Jul 03 Python
Python实现一个带权无回置随机抽选函数的方法
Jul 24 Python
有关Tensorflow梯度下降常用的优化方法分享
Feb 04 Python
python实现测试工具(一)——命令行发送get请求
Oct 19 Python
python 提取html文本的方法
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
ThinkPHP中URL路径访问与模块控制器之间的关系
2014/08/23 PHP
深入理解PHP中mt_rand()随机数的安全
2017/10/12 PHP
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
DHTML Slide Show script图片轮换
2008/03/03 Javascript
调用js时ie6和ie7,ff的区别
2009/08/19 Javascript
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
基于javascript bootstrap实现生日日期联动选择
2016/04/07 Javascript
懒加载实现的分页&&网站footer自适应
2016/12/21 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
解决Mac node版本升级失败的问题
2018/05/16 Javascript
H5+C3+JS实现五子棋游戏(AI篇)
2020/05/28 Javascript
node.js基于socket.io快速实现一个实时通讯应用
2019/04/23 Javascript
vue-test-utils初使用详解
2019/05/23 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
openLayer4实现动态改变标注图标
2020/08/17 Javascript
Python3.5局部变量与全局变量作用域实例分析
2019/04/30 Python
在Python中COM口的调用方法
2019/07/03 Python
python requests证书问题解决
2019/09/05 Python
Python读取实时数据流示例
2019/12/02 Python
python隐藏类中属性的3种实现方法
2019/12/19 Python
django models里数据表插入数据id自增操作
2020/07/15 Python
Html5中的桌面通知Notification的实现
2018/09/25 HTML / CSS
HTML5 表单验证失败的提示语问题
2017/07/13 HTML / CSS
Zadig&Voltaire官网:法国时装品牌
2018/01/05 全球购物
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
Java语言的优势
2015/01/10 面试题
制药工程专业个人求职自荐信
2014/01/25 职场文书
工业设计毕业生自荐信
2014/04/13 职场文书
运动会广播稿150字(9篇)
2014/09/20 职场文书
大学军训的体会
2014/11/08 职场文书
大学生思想道德自我评价
2015/03/09 职场文书
幼儿园老师新年寄语
2015/08/17 职场文书
班主任工作经验交流会总结
2015/11/02 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书
外出考察学习心得体会
2016/01/18 职场文书
QT与javascript交互数据的实现
2021/05/26 Javascript