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函数中的默认参数
Mar 30 Python
python比较两个列表大小的方法
Jul 11 Python
python获取多线程及子线程的返回值
Nov 15 Python
Python中pillow知识点学习
Apr 30 Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
Jun 21 Python
django-allauth入门学习和使用详解
Jul 03 Python
python实现函数极小值
Jul 10 Python
Python实现的远程文件自动打包并下载功能示例
Jul 12 Python
使用python获取邮箱邮件的设置方法
Sep 20 Python
pip install python 快速安装模块的教程图解
Oct 08 Python
python清空命令行方式
Jan 13 Python
windows下Pycharm安装opencv的多种方法
Mar 05 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
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
php 中include()与require()的对比
2006/10/09 PHP
ThinkPHP自动验证失败的解决方法
2011/06/09 PHP
解析php中eclipse 用空格替换 tab键
2013/06/24 PHP
php使用MySQL保存session会话的方法
2015/06/26 PHP
PHP实现JS中escape与unescape的方法
2016/07/11 PHP
PHP+Ajax实现的博客文章添加类别功能示例
2018/03/29 PHP
使用vs code编辑调试php配置的方法
2019/01/29 PHP
JavaScript 克隆数组最简单的方法
2009/02/12 Javascript
jquery 模式对话框终极版实现代码
2009/09/28 Javascript
原来Jquery.load的方法可以一直load下去
2011/03/28 Javascript
用jquery的attr方法实现图片切换效果
2017/02/05 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
2017/05/17 Javascript
JS判断Android、iOS或浏览器的多种方法(四种方法)
2017/06/29 Javascript
Vue3.0中的monorepo管理模式的实现
2019/10/14 Javascript
vue 动态表单开发方法案例详解
2019/12/02 Javascript
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
VSCode Vue开发推荐插件和VSCode快捷键(小结)
2020/08/08 Javascript
JavaScript实现网页下拉菜单效果
2020/11/20 Javascript
让python json encode datetime类型
2010/12/28 Python
TensorFlow saver指定变量的存取
2018/03/10 Python
深入浅析Python传值与传址
2018/07/10 Python
Python中修改字符串的四种方法
2018/11/02 Python
python 图像处理画一个正弦函数代码实例
2019/09/10 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
2020/05/24 Python
用CSS3实现瀑布流布局的示例代码
2017/11/10 HTML / CSS
幼儿园教研活动方案
2014/01/19 职场文书
六一儿童节演讲稿
2014/05/23 职场文书
学校花圃的标语
2014/06/18 职场文书
学校感恩教育活动总结
2014/07/07 职场文书
2014学习优秀共产党员先进事迹材料思想汇报
2014/09/14 职场文书
现场施工员岗位职责
2015/04/11 职场文书
七一活动主持词
2015/06/29 职场文书
Memcached介绍及php-memcache扩展安装
2021/04/01 PHP
CSS作用域(样式分割)的使用汇总
2021/11/07 HTML / CSS
win10系统xps文件怎么打开?win10打开xps文件的两种操作方法
2022/07/23 数码科技