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
python实现简单ftp客户端的方法
Jun 28 Python
使用python 3实现发送邮件功能
Jun 15 Python
Python处理session的方法整理
Aug 29 Python
Django中使用haystack+whoosh实现搜索功能
Oct 08 Python
Python爬虫之urllib基础用法教程
Oct 12 Python
Python list与NumPy array 区分详解
Nov 06 Python
python实现一个点绕另一个点旋转后的坐标
Dec 04 Python
python 实现list或string按指定分段
Dec 25 Python
Pytorch之Variable的用法
Dec 31 Python
Python基于yield遍历多个可迭代对象
Mar 12 Python
Python如何合并多个字典或映射
Jul 24 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获取目录所有文件并将结果保存到数组(实例)
2013/10/25 PHP
php常用数学函数汇总
2014/11/21 PHP
php版微信自动登录并获取昵称的方法
2016/09/23 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
2007/05/08 Javascript
javascript实现二分查找法实现代码
2007/11/12 Javascript
地址栏上的一段语句,改变页面的风格。(教程)
2008/04/02 Javascript
用JavaScript显示随机图像或引用
2009/04/21 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
AngularJS+Node.js实现在线聊天室
2015/08/28 Javascript
jQuery按需加载轮播图(web前端性能优化)
2017/02/17 Javascript
自定义vue全局组件use使用、vuex的使用详解
2017/06/14 Javascript
通过jquery.cookie.js实现记住用户名、密码登录功能
2018/06/20 jQuery
Vue 监听列表item渲染事件方法
2018/09/06 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
2018/10/26 Javascript
Vue.js中该如何自己维护路由跳转记录
2019/05/19 Javascript
vue点击页面空白处实现保存功能
2019/11/06 Javascript
[02:16]DOTA2英雄基础教程 干扰者
2014/01/15 DOTA
python机器学习理论与实战(二)决策树
2018/01/19 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
Pandas中Series和DataFrame的索引实现
2019/06/27 Python
Win10环境python3.7安装dlib模块趟过的坑
2019/08/01 Python
django之自定义软删除Model的方法
2019/08/14 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
numpy.random.shuffle打乱顺序函数的实现
2019/09/10 Python
基于python实现雪花算法过程详解
2019/11/16 Python
Python迷宫生成和迷宫破解算法实例
2019/12/24 Python
Python加密模块的hashlib,hmac模块使用解析
2020/01/02 Python
Autopep8的使用(python自动编排工具)
2021/03/02 Python
Nuts.com:优质散装,批发坚果、干果和巧克力等
2017/03/21 全球购物
英国最大的海报商店:GB Posters
2018/03/20 全球购物
写求职信有什么意义
2014/02/17 职场文书
《北京的春节》教学反思
2014/04/07 职场文书
应届毕业生求职信
2014/05/26 职场文书
2014年仓库管理员工作总结
2014/11/18 职场文书
2015年电教工作总结
2015/05/26 职场文书