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 应用中使用 MongoDB的方法
Jan 05 Python
Python基于递归算法实现的走迷宫问题
Aug 04 Python
Python利用ElementTree模块处理XML的方法详解
Aug 31 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
Oct 22 Python
Python判断一个三位数是否为水仙花数的示例
Nov 13 Python
浅析python3字符串格式化format()函数的简单用法
Dec 07 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
Sep 23 Python
Python 中@property的用法详解
Jan 15 Python
python_mask_array的用法
Feb 18 Python
Python 实现进度条的六种方式
Jan 06 Python
python之openpyxl模块的安装和基本用法(excel管理)
Feb 03 Python
opencv读取视频并保存图像的方法
Jun 04 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在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
php5.5使用PHPMailer-5.2发送邮件的完整步骤
2018/10/14 PHP
juqery 学习之六 CSS--css、位置、宽高
2011/02/11 Javascript
初学js 新节点的创建 删除 的步骤
2011/07/04 Javascript
根据选择不同的下拉值出现相对应的文本输入框
2013/08/01 Javascript
Javascript 拖拽雏形(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
jquery实现在光标位置插入内容的方法
2015/02/05 Javascript
JavaScript实现数字数组正序排列的方法
2015/04/06 Javascript
基于JavaScript实现全屏透明遮罩div层锁屏效果
2016/01/26 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
很酷的星级评分系统原生JS实现
2016/08/25 Javascript
BootStrap中Table分页插件使用详解
2016/10/09 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
2016/10/20 Javascript
AngularJS 实现购物车全选反选功能
2017/10/24 Javascript
纯JS实现的读取excel文件内容功能示例【支持所有浏览器】
2018/06/23 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
2018/10/10 Javascript
vue中的router-view组件的使用教程
2018/10/23 Javascript
js实现图片跟随鼠标移动效果
2019/10/16 Javascript
vue fetch中的.then()的正确使用方法
2020/04/17 Javascript
vue - props 声明数组和对象操作
2020/07/30 Javascript
js实现随机点名功能
2020/12/23 Javascript
[02:06]DOTA2肉山黑名单魔法终结者 敌法师中文配音鉴赏
2013/06/17 DOTA
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
python判断端口是否打开的实现代码
2013/02/10 Python
Python多线程下载文件的方法
2015/07/10 Python
Python+MongoDB自增键值的简单实现
2016/11/04 Python
python爬虫_实现校园网自动重连脚本的教程
2018/04/22 Python
pandas带有重复索引操作方法
2018/06/08 Python
python 日期排序的实例代码
2019/07/11 Python
python爬虫 模拟登录人人网过程解析
2019/07/31 Python
提高python代码运行效率的一些建议
2020/09/29 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
员工加薪申请报告
2015/05/15 职场文书
党员转正意见怎么写
2015/06/03 职场文书
婚礼嘉宾致辞
2015/07/28 职场文书
python tkinter模块的简单使用
2021/04/07 Python