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 map和reduce函数用法示例
Feb 26 Python
Google开源的Python格式化工具YAPF的安装和使用教程
May 31 Python
Python的Tornado框架的异步任务与AsyncHTTPClient
Jun 27 Python
python获取当前用户的主目录路径方法(推荐)
Jan 12 Python
Python序列化基础知识(json/pickle)
Oct 19 Python
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
Jul 11 Python
python实现单链表中删除倒数第K个节点的方法
Sep 28 Python
使用python对文件中的数值进行累加的实例
Nov 28 Python
python实现汽车管理系统
Nov 30 Python
django和vue实现数据交互的方法
Aug 21 Python
tensorflow对图像进行拼接的例子
Feb 05 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
Apr 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
全国FM电台频率大全 - 23 四川省
2020/03/11 无线电
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
2008/11/18 PHP
用C/C++扩展你的PHP 为你的php增加功能
2012/09/06 PHP
深入php define()函数以及defined()函数的用法详解
2013/06/05 PHP
php查看当前Session的ID实例
2015/03/16 PHP
用PHP代码给图片加水印
2015/07/01 PHP
PHP缓冲区用法总结
2016/02/14 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
window.showModalDialog使用手册
2007/01/11 Javascript
jQuery 页面 Mask实现代码
2010/01/09 Javascript
一段实现页面上的图片延时加载的js代码
2010/02/11 Javascript
Jquery操作下拉框(DropDownList)实现取值赋值
2013/08/13 Javascript
JavaScript打印网页指定区域的例子
2014/05/03 Javascript
jQuery.lazyload+masonry改良图片瀑布流代码
2014/06/20 Javascript
javascript模拟实现ajax加载框实例
2014/10/15 Javascript
jQuery中removeClass()方法用法实例
2015/01/05 Javascript
JS遍历ul下的li点击弹出li的索引的实现方法
2016/09/19 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
2019/03/14 Javascript
解决nuxt 自定义全局方法,全局属性,全局变量的问题
2020/11/05 Javascript
vant 解决tab切换插件标题样式自定义的问题
2020/11/13 Javascript
[01:28:24]NAVI vs VG Supermajor 败者组 BO3 第三场 6.5
2018/06/06 DOTA
深入理解Python中字典的键的使用
2015/08/19 Python
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
利用python如何处理百万条数据(适用java新手)
2018/06/06 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
python使用sklearn实现决策树的方法示例
2019/09/12 Python
使用Python实现正态分布、正态分布采样
2019/11/20 Python
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
自动化工程专业个人应聘自荐信
2013/09/26 职场文书
党性分析材料格式
2014/12/19 职场文书
供应商食品安全承诺书
2015/04/29 职场文书
银行安全保卫工作总结
2015/08/10 职场文书
2016年大学生寒假社会实践心得体会
2015/10/09 职场文书
python实现调用摄像头并拍照发邮箱
2021/04/27 Python
《帝国时代4》赛季预告 新增内容编译器可创造地图
2022/04/03 其他游戏