您好,登錄后才能下訂單哦!
python中怎么實現分批定量讀取文件內容,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
一、文件內容的分發
應用場景:分批讀取共有358086行內容的txt文件,每取1000條輸出到一個文件當中
# coding=utf-8 # 分批讀取共有358086行內容的txt文件,每取1000條輸出到一個文件當中 txt_path = "E:/torrenthandle.txt" base_path="E:/torrent_distribution/" def distribution( ): f = open(txt_path,"r") lines = f.readlines() f2=open(base_path+"1.txt","w") content="" for i in range( 1,len(lines) ): if ( i%1000!=0 ): content+=lines[i-1] else: content+=lines[i-1] f2.write(content.strip('\n')) block_path=base_path+str(i)+".txt" f2=open(block_path,"w") content="" #最后的掃尾工作 content+=lines[i] f2.write(content.strip('\n')) f2.close() f.close() distribution( )
二、文件夾(目錄)下的內容分發
應用場景:分批讀取目錄下的文件,每取1000條輸出到一個新的目錄當中
# coding: utf-8 import os import shutil sourcepath = "E:\\sample" distribution_path = "E:\\sample\\distribution\\" if __name__ =='__main__': rs = unicode(sourcepath , "utf8") count = 1 savepath = unicode(distribution_path+"1", "utf-8") if not os.path.exists(savepath): os.makedirs(savepath) for rt,dirs,files in os.walk(rs): for fname in files: if ( count%1000!=0 ): shutil.copy(rt + os.sep + fname,savepath) #os.remove(rt + os.sep + fname) else: shutil.copy(rt + os.sep + fname,savepath) #os.remove(rt + os.sep + fname) savepath = unicode(distribution_path+str(count), "utf-8") if not os.path.exists(savepath): os.makedirs(savepath) count+=1
看完上述內容,你們掌握python中怎么實現分批定量讀取文件內容的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。