欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)將一個(gè)大文件按段落分隔為多個(gè)小文件的簡(jiǎn)單操作方法

 更新時(shí)間:2017年04月17日 10:31:06   作者:捂汗縣長(zhǎng)  
這篇文章主要介紹了Python實(shí)現(xiàn)將一個(gè)大文件按段落分隔為多個(gè)小文件的簡(jiǎn)單操作方法,涉及Python針對(duì)文件的讀取、遍歷、轉(zhuǎn)換、寫入等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python實(shí)現(xiàn)將一個(gè)大文件按段落分隔為多個(gè)小文件的簡(jiǎn)單操作方法。分享給大家供大家參考,具體如下:

今天幫同學(xué)處理一點(diǎn)語料。語料文件有點(diǎn)大,并且是以連續(xù)兩個(gè)換行符作為段落標(biāo)志,他想把它按段落分隔成多個(gè)小文件,即每3個(gè)段落組成一個(gè)新文件。由于以前沒有遇到過類似的操作,在網(wǎng)上找了一些相似的方法,看起來都有點(diǎn)復(fù)雜。所以經(jīng)嘗試,自己寫了一段代碼,完美解決問題。

基本思路是,先讀原文件內(nèi)容,并使用正則表達(dá)式,依據(jù)\n\n進(jìn)行切片處理,結(jié)果為一個(gè)列表,其中每一個(gè)列表元素都存放一個(gè)切片中的內(nèi)容;然后創(chuàng)建一個(gè)寫文件的句柄;接下來遍歷切片列表,并寫入當(dāng)前切片內(nèi)容,判斷是否已經(jīng)寫入了3個(gè)段落,如果不是,則繼續(xù)讀寫下一個(gè)切片,如果已經(jīng)夠3個(gè),則關(guān)閉之前的寫文件句柄,以不同的文件名重新創(chuàng)建一個(gè)新的寫文件句柄,循環(huán)結(jié)束,等待讀寫下一個(gè)切片。

# -*- coding:utf8 -*-
import re;
p=re.compile('\n\n',re.S);
fileContent=open('files/辦公室.txt','r',encoding='utf8').read();#讀文件內(nèi)容
paraList=p.split(fileContent) #根據(jù)換行符對(duì)文本進(jìn)行切片
fileWriter=open('files/0.txt','a',encoding='utf8');#創(chuàng)建一個(gè)寫文件的句柄
for paraIndex in range(len(paraList)):#遍歷切片后的文本列表
  fileWriter.write(paraList[paraIndex]);#先將列表中第一個(gè)元素寫入文件中
  if((paraIndex+1)%3==0):#判斷是否寫夠3個(gè)切片,如果已經(jīng)夠了
    fileWriter.close(); #關(guān)閉當(dāng)前句柄
    fileWriter=open('files/'+str((paraIndex+1)/3)+'.txt','a',encoding='utf8'); #重新創(chuàng)建一個(gè)新的句柄,等待寫入下一個(gè)切片元素。注意這里文件名的處理技巧。
fileWriter.close();#關(guān)閉最后創(chuàng)建的那個(gè)寫文件句柄
print('finished');

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python URL操作技巧總結(jié)》、《Python圖片操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Python使用爬蟲猜密碼

    Python使用爬蟲猜密碼

    我們可以通過python 來實(shí)現(xiàn)這樣一個(gè)簡(jiǎn)單的爬蟲猜密碼功能。下面就看看如何使用python來實(shí)現(xiàn)這樣一個(gè)功能,對(duì)python爬蟲猜密碼相關(guān)知識(shí)感興趣的朋友參考下吧
    2016-02-02
  • python中isoweekday和weekday的區(qū)別及說明

    python中isoweekday和weekday的區(qū)別及說明

    這篇文章主要介紹了python中isoweekday和weekday的區(qū)別及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Linux RedHat下安裝Python2.7開發(fā)環(huán)境

    Linux RedHat下安裝Python2.7開發(fā)環(huán)境

    這篇文章主要為大家詳細(xì)介紹了Linux RedHat下安裝Python2.7、pip、ipython環(huán)境、eclipse和PyDev環(huán)境,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 使用Python進(jìn)行時(shí)間序列分析的8種繪圖類型

    使用Python進(jìn)行時(shí)間序列分析的8種繪圖類型

    時(shí)間序列數(shù)據(jù)是按時(shí)間順序按固定時(shí)間間隔排列的觀測(cè)值的集合,每個(gè)觀察對(duì)應(yīng)于一個(gè)特定的時(shí)間點(diǎn),并且可以以各種頻率(例如,每天、每月、每年)記錄數(shù)據(jù),本文介紹了幾種類型的繪圖,可幫助您使用 Python 進(jìn)行時(shí)間序列分析,并提供使用可免費(fèi)訪問的數(shù)據(jù)集的詳細(xì)示例
    2023-09-09
  • 2行Python代碼實(shí)現(xiàn)給pdf文件添加水印

    2行Python代碼實(shí)現(xiàn)給pdf文件添加水印

    你們?cè)诮oPDF文件添加水印時(shí),還在手動(dòng)一頁頁添加嗎?本文小編為大家?guī)砹艘粋€(gè)更方便的方法,即用Python的2行代碼來實(shí)現(xiàn),感興趣的小伙伴可以學(xué)習(xí)一下
    2022-02-02
  • Python如何通過百度翻譯API實(shí)現(xiàn)翻譯功能

    Python如何通過百度翻譯API實(shí)現(xiàn)翻譯功能

    這篇文章主要介紹了Python如何通過百度翻譯API實(shí)現(xiàn)翻譯功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Python實(shí)現(xiàn)統(tǒng)計(jì)給定列表中指定數(shù)字出現(xiàn)次數(shù)的方法

    Python實(shí)現(xiàn)統(tǒng)計(jì)給定列表中指定數(shù)字出現(xiàn)次數(shù)的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)統(tǒng)計(jì)給定列表中指定數(shù)字出現(xiàn)次數(shù)的方法,涉及Python針對(duì)列表的簡(jiǎn)單遍歷、計(jì)算相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • 詳解Python中的偏函數(shù)(Partial Functions)

    詳解Python中的偏函數(shù)(Partial Functions)

    Python中的偏函數(shù)是來自函數(shù)式編程的一個(gè)強(qiáng)大工具,它的主要目標(biāo)是減少函數(shù)調(diào)用的復(fù)雜性這個(gè)概念可能起初看起來有點(diǎn)困難理解,但一旦你明白了它的工作方式,它可能會(huì)成為你的編程工具箱中的重要組成部分,文中有相關(guān)的代碼介紹,需要的朋友可以參考下
    2023-06-06
  • 使用Python實(shí)現(xiàn)獲取文件詳細(xì)信息

    使用Python實(shí)現(xiàn)獲取文件詳細(xì)信息

    Python提供了豐富的內(nèi)置模塊和函數(shù),獲取和操作文件的各種屬性信息,比如大小、修改時(shí)間、權(quán)限以及路徑等,本文將通過詳細(xì)的示例代碼展示如何使用Python中的os和os.path模塊來獲取文件屬性信息,需要的可以參考下
    2023-12-12
  • Django模型序列化返回自然主鍵值示例代碼

    Django模型序列化返回自然主鍵值示例代碼

    這篇文章主要給大家介紹了關(guān)于Django模型序列化返回自然主鍵值的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Django具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06

最新評(píng)論