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快速查找算法应用实例
Sep 26 Python
Python实现爬取知乎神回复简单爬虫代码分享
Jan 04 Python
Python实现ssh批量登录并执行命令
Oct 25 Python
python实现聚类算法原理
Feb 12 Python
django中模板的html自动转意方法
May 27 Python
在python中使用requests 模拟浏览器发送请求数据的方法
Dec 26 Python
python实现两个经纬度点之间的距离和方位角的方法
Jul 05 Python
Python 一键获取百度网盘提取码的方法
Aug 01 Python
Django中自定义admin Xadmin的实现代码
Aug 09 Python
python:动态路由的Flask程序代码
Nov 22 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
Jan 05 Python
基于python的matplotlib制作双Y轴图
Apr 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
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
PHP写MySQL数据 实现代码
2009/06/15 PHP
php隐藏IP地址后两位显示为星号的方法
2014/11/21 PHP
phpQuery让php处理html代码像jQuery一样方便
2015/01/06 PHP
php使用mysqli向数据库添加数据的方法
2015/03/20 PHP
PHP上传图片时判断上传文件是否为可用图片的方法
2016/10/20 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
2017/02/23 PHP
PHP与以太坊交互详解
2018/08/24 PHP
jQuery实现字符串按指定长度加入特定内容的方法
2015/03/11 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
详解JavaScript数组的操作大全
2015/10/19 Javascript
基于JS分页控件实现简单美观仿淘宝分页按钮效果
2016/11/07 Javascript
原生js实现验证码功能
2017/03/16 Javascript
VueRouter导航守卫用法详解
2017/12/25 Javascript
关于RxJS Subject的学习笔记
2018/12/05 Javascript
详解javascript设计模式三:代理模式
2019/03/25 Javascript
vue 父组件中调用子组件函数的方法
2019/06/06 Javascript
javascript实现抢购倒计时程序
2019/08/26 Javascript
使用vue cli4.x搭建vue项目的过程详解
2020/05/08 Javascript
JS使用setInterval计时器实现挑战10秒
2020/11/08 Javascript
用Python的线程来解决生产者消费问题的示例
2015/04/02 Python
python使用锁访问共享变量实例解析
2018/02/08 Python
Python DataFrame设置/更改列表字段/元素类型的方法
2018/06/09 Python
python绘制直线的方法
2018/06/30 Python
钉钉群自定义机器人消息Python封装的实例
2019/02/20 Python
keras 解决加载lstm+crf模型出错的问题
2020/06/10 Python
全球速卖通西班牙站:AliExpress西班牙
2017/10/30 全球购物
俄罗斯最大的在线珠宝大卖场:Nebo
2019/12/08 全球购物
如何估计一张表的大小(假设该表中有1万条数据)
2016/03/27 面试题
村居抓节水倡议书
2014/05/19 职场文书
励志演讲稿600字
2014/08/21 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
小学生禁毒教育心得体会
2016/01/15 职场文书
小学生优秀作文范文(六篇)
2019/07/10 职场文书
Python打包exe时各种异常处理方案总结
2021/05/18 Python
在pycharm中无法import所安装的库解决方案
2021/05/31 Python