Python实现将一个大文件按段落分隔为多个小文件的简单 *** 作方法

Python实现将一个大文件按段落分隔为多个小文件的简单 *** 作方法,第1张

概述本文实例讲述了Python实现将一个大文件段落分隔为多个小文件的简单 *** 作方法。分享给大家供大家参考,具体如下:

本文实例讲述了Python实现将一个大文件按段落分隔为多个小文件的简单 *** 作方法。分享给大家供大家参考,具体如下:

今天帮同学处理一点语料。语料文件有点大,并且是以连续两个换行符作为段落标志,他想把它按段落分隔成多个小文件,即每3个段落组成一个新文件。由于以前没有遇到过类似的 *** 作,在网上找了一些相似的方法,看起来都有点复杂。所以经尝试,自己写了一段代码,完美解决问题。

基本思路是,先读原文件内容,并使用正则表达式,依据\n\n进行切片处理,结果为一个列表,其中每一个列表元素都存放一个切片中的内容;然后创建一个写文件的句柄;接下来遍历切片列表,并写入当前切片内容,判断是否已经写入了3个段落,如果不是,则继续读写下一个切片,如果已经够3个,则关闭之前的写文件句柄,以不同的文件名重新创建一个新的写文件句柄,循环结束,等待读写下一个切片。

# -*- Coding:utf8 -*-import re;p=re.compile('\n\n',re.S);fileContent=open('files/办公室.txt','r',enCoding='utf8').read();#读文件内容paraList=p.split(fileContent) #根据换行符对文本进行切片fileWriter=open('files/0.txt','a',enCoding='utf8');#创建一个写文件的句柄for paraIndex in range(len(paraList)):#遍历切片后的文本列表  fileWriter.write(paraList[paraIndex]);#先将列表中第一个元素写入文件中  if((paraIndex+1)%3==0):#判断是否写够3个切片,如果已经够了    fileWriter.close(); #关闭当前句柄    fileWriter=open('files/'+str((paraIndex+1)/3)+'.txt',enCoding='utf8'); #重新创建一个新的句柄,等待写入下一个切片元素。注意这里文件名的处理技巧。fileWriter.close();#关闭最后创建的那个写文件句柄print('finished');

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录 *** 作技巧汇总》、《Python文本文件 *** 作技巧汇总》、《Python URL *** 作技巧总结》、《Python图片 *** 作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《@L_301_6@》、《Python字符串 *** 作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

总结

以上是内存溢出为你收集整理的Python实现将一个大文件按段落分隔为多个小文件的简单 *** 作方法全部内容,希望文章能够帮你解决Python实现将一个大文件按段落分隔为多个小文件的简单 *** 作方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1202383.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存