python实现文件的分割与合并

 更新时间:2019年08月29日 09:25:11   作者:just_young  
这篇文章主要为大家详细介绍了python实现文件的分割与合并,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

使用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开发简易版在线音乐播放器

    这篇文章主要为大家详细介绍了python开发简易版在线音乐播放器的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Ubuntu 20.04安装Pycharm2020.2及锁定到任务栏的问题(小白级操作)

    Ubuntu 20.04安装Pycharm2020.2及锁定到任务栏的问题(小白级操作)

    这篇文章主要介绍了Ubuntu 20.04安装Pycharm2020.2及锁定到任务栏的问题,本教程给大家讲解的很详细,非常适合小白级操作,需要的朋友可以参考下
    2020-10-10
  • 使用Python脚本对GiteePages进行一键部署的使用说明

    使用Python脚本对GiteePages进行一键部署的使用说明

    刚好之前有了解过python的自动化,就想着自动化脚本,百度一搜还真有类似的文章。今天就给大家分享下使用Python脚本对GiteePages进行一键部署的使用说明,感兴趣的朋友一起看看吧
    2021-05-05
  • 深入理解Python中装饰器的用法

    深入理解Python中装饰器的用法

    装饰器的使用是Python的高级技巧之一,通过Decorator装饰器能够带来函数式编程中所需的很多特性,这里我们就来跟随文章一同深入理解Python中装饰器的用法,需要的朋友可以参考下
    2016-06-06
  • 解决django后台管理界面添加中文内容乱码问题

    解决django后台管理界面添加中文内容乱码问题

    今天小编就为大家分享一篇解决django后台管理界面添加中文内容乱码问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • YOLOv5目标检测之anchor设定

    YOLOv5目标检测之anchor设定

    在训练yolo网络检测目标时,需要根据待检测目标的位置大小分布情况对anchor进行调整,使其检测效果尽可能提高,下面这篇文章主要给大家介绍了关于YOLOv5目标检测之anchor设定的相关资料,需要的朋友可以参考下
    2022-05-05
  • python中的zip模块

    python中的zip模块

    这篇文章主要介绍了zip文件格式是通用的文档压缩标准,在ziplib模块中,使用ZipFile类来操作zip文件,感兴趣的朋友参考如下
    2021-08-08
  • 使用pyecharts1.7进行简单的可视化大全

    使用pyecharts1.7进行简单的可视化大全

    这篇文章主要介绍了使用pyecharts1.7进行简单的可视化大全,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 基python实现多线程网页爬虫

    基python实现多线程网页爬虫

    python是支持多线程的, 主要是通过thread和threading这两个模块来实现的,本文主要给大家分享python实现多线程网页爬虫,需要的朋友可以参考下
    2015-09-09
  • centos安装python3.10的教程

    centos安装python3.10的教程

    文章主要介绍了在CentOS系统上安装Python 3.10.1的步骤,包括升级OpenSSL到1.1.1,以及详细的操作过程,如切换目录、下载安装包、解压、配置、编译安装、创建软连接和验证等
    2025-03-03

最新评论