用python解決按行讀取內(nèi)存不夠的問題-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)用python解決按行讀取內(nèi)存不夠的問題的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比武勝網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式武勝網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋武勝地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。

第一種:readline()

file = open("sample.txt") while 1:    line = file.readline()    if not line:        break    pass # do somethingfile.close()

一行行得從文件讀數(shù)據(jù),這樣是比較慢的,但是節(jié)約內(nèi)存;

測試讀10M的sample.txt文件,每秒大約讀32000行;

第二種:fileinput

import fileinput for line in fileinput.input("sample.txt"):    pass

寫法稍微簡單,不過測試以后發(fā)現(xiàn)每秒只能讀13000行數(shù)據(jù),效率上比上一種方法慢了兩倍多;

第三種:readlines()

file = open("sample.txt") while 1:    lines = file.readlines(100000)    if not lines:        break    for line in lines:        pass # do something file.close()

用同樣的數(shù)據(jù)測試,它每秒可以讀96900行數(shù)據(jù)。效率是第一種方法的3倍,第二種方法的7倍。

第四種:文件迭代器

每次只讀取和顯示一行,讀取大文件時(shí)如下:

file = open("sample.txt") for line in file:    pass # do something file.close()

感謝各位的閱讀!關(guān)于用python解決按行讀取內(nèi)存不夠的問題就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

名稱欄目:用python解決按行讀取內(nèi)存不夠的問題-創(chuàng)新互聯(lián)
本文來源:http://muchs.cn/article24/cochce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司Google、網(wǎng)站改版、移動(dòng)網(wǎng)站建設(shè)關(guān)鍵詞優(yōu)化、營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)