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 24 Python
Python urls.py的三种配置写法实例详解
Apr 28 Python
Python使用random.shuffle()打乱列表顺序的方法
Nov 08 Python
Pycharm配置远程调试的方法步骤
Dec 17 Python
Python构建图像分类识别器的方法
Jan 12 Python
python网络编程之多线程同时接受和发送
Sep 03 Python
开启Django博客的RSS功能的实现方法
Feb 17 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
May 03 Python
python redis存入字典序列化存储教程
Jul 16 Python
Python基础教程(一)——Windows搭建开发Python开发环境
Jul 20 Python
python3.6中anaconda安装sklearn踩坑实录
Jul 28 Python
用Python创建简易网站图文教程
Jun 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中使用XML
2006/10/09 PHP
PHP中对数据库操作的封装
2006/10/09 PHP
初学CAKEPHP 基础教程
2009/11/02 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
2020/08/17 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
2019/06/22 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
2019/10/24 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
[原创]保存的js无法执行的解决办法
2007/02/25 Javascript
使用onbeforeunload属性后的副作用
2007/03/08 Javascript
判断iframe是否加载完成的完美方法
2010/01/07 Javascript
ExtJS 刷新后如何默认选中刷新前最后一次选中的节点
2014/04/03 Javascript
ECMAScript5(ES5)中bind方法使用小结
2015/05/07 Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
2015/11/15 Javascript
Javascript实现Array和String互转换的方法
2015/12/21 Javascript
jQuery实现iframe父窗体和子窗体的相互调用
2016/06/17 Javascript
Bootstrap表单控件学习使用
2017/03/07 Javascript
bootstrap 设置checkbox部分选中效果
2017/04/20 Javascript
详解Vue-cli中的静态资源管理(src/assets和static/的区别)
2018/06/19 Javascript
mac上配置Android环境变量的方法
2018/07/08 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
使用VUE实现在table中文字信息超过5个隐藏鼠标移到时弹窗显示全部
2019/09/16 Javascript
vue父组件给子组件的组件传值provide inject的方法
2019/10/23 Javascript
JavaScript算法学习之冒泡排序和选择排序
2019/11/02 Javascript
[03:49]DOTA2 2015国际邀请赛中国区预选赛第二日现场百态
2015/05/27 DOTA
[01:37]全新的一集《真视界》——TI7总决赛
2017/09/21 DOTA
python发送邮件接收邮件示例分享
2014/01/21 Python
Python实现基于权重的随机数2种方法
2015/04/28 Python
详解django中使用定时任务的方法
2018/09/27 Python
Python 分享10个PyCharm技巧
2019/07/13 Python
使用Python-OpenCV消除图像中孤立的小区域操作
2020/07/05 Python
印度排名第一的蛋糕、鲜花和礼品送货:Winni
2019/08/02 全球购物
乌克兰电子产品和家用电器购物网站:TOUCH
2019/08/09 全球购物
新文化运动的基本口号
2014/06/21 职场文书
闪闪红星观后感
2015/06/08 职场文书
人事任命书范本
2015/09/21 职场文书
Shell中的单中括号和双中括号的用法详解
2022/12/24 Servers