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 相关文章推荐
linux下安装easy_install的方法
Feb 10 Python
Python爬虫爬验证码实现功能详解
Apr 14 Python
Python tkinter事件高级用法实例
Jan 31 Python
python素数筛选法浅析
Mar 19 Python
解决PySide+Python子线程更新UI线程的问题
Jan 11 Python
Python使用sqlalchemy模块连接数据库操作示例
Mar 13 Python
python切片的步进、添加、连接简单操作示例
Jul 11 Python
python开头的coding设置方法
Aug 08 Python
python3获取url文件大小示例代码
Sep 18 Python
Django 再谈一谈json序列化
Mar 16 Python
使用Python获取字典键对应值的方法
Apr 26 Python
python 学习GCN图卷积神经网络
May 11 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完整的日历类(CLASS)
2006/11/27 PHP
解析php中获取系统信息的方法
2013/06/25 PHP
php利用gd库为图片添加水印
2016/11/09 PHP
jQuery live
2009/05/15 Javascript
查询绑定数据岛的表格中的文本并修改显示方式的js代码
2009/12/15 Javascript
jQuery 源码分析笔记(7) Queue
2011/06/19 Javascript
TimergliderJS 一个基于jQuery的时间轴插件
2011/12/07 Javascript
parentElement,srcElement的使用小结
2014/01/13 Javascript
javascript基本类型详解
2014/11/28 Javascript
jQuery实现单击和鼠标感应事件
2015/02/01 Javascript
JS本地刷新返回上一页代码
2016/07/25 Javascript
JS实现图片垂直居中显示小结
2016/12/13 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
js实现京东轮播图效果
2017/06/30 Javascript
详解angularjs的数组传参方式的简单实现
2017/07/28 Javascript
详谈Node.js之操作文件系统
2017/08/29 Javascript
javascript算法之二叉搜索树的示例代码
2017/09/12 Javascript
js验证密码强度解析
2020/03/18 Javascript
微信小程序实现多张图片上传功能
2020/11/18 Javascript
vue中封装axios并实现api接口的统一管理
2020/12/25 Vue.js
纯Python开发的nosql数据库CodernityDB介绍和使用实例
2014/10/23 Python
Python统计日志中每个IP出现次数的方法
2015/07/06 Python
python xml解析实例详解
2016/11/14 Python
Python3.6安装及引入Requests库的实现方法
2018/01/24 Python
Python如何使用字符打印照片
2020/01/03 Python
推荐8款常用的Python GUI图形界面开发框架
2020/02/23 Python
Python连接Impala实现步骤解析
2020/08/04 Python
python 检测图片是否有马赛克
2020/12/01 Python
分享一个页面平滑滚动小技巧(推荐)
2019/10/23 HTML / CSS
自我鉴定书范文
2013/10/02 职场文书
材料物理专业大学毕业生求职信
2013/10/15 职场文书
电子商务个人自荐信
2013/12/12 职场文书
兴趣小组活动总结
2014/05/05 职场文书
公司活动总结范文
2014/07/01 职场文书
企业挂职心得体会
2014/09/10 职场文书
高中生社会实践心得体会
2016/01/14 职场文书