新聞中心
當我們需要讀取一個較大的文件,但是電腦的內(nèi)存比較小怎么辦?要是小文件又該怎么辦?今天就為大家?guī)韼讉€按行讀取文件在Python如何巧妙解決的辦法。

第一種: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倍。
第四種:文件迭代器
每次只讀取和顯示一行,讀取大文件時如下:
file = open("sample.txt") for line in file: pass # do something file.close()
以上就是Python中按行讀取目錄下文件名的一些方法,需要的小伙伴可以參考下。
新聞標題:創(chuàng)新互聯(lián)Python教程:按行讀取內(nèi)存不夠?如何用python解決?
URL地址:http://fisionsoft.com.cn/article/dpogehd.html


咨詢
建站咨詢
