Python按行讀取文件


1:readline()

復制代碼
file = open("sample.txt") 
while 1:
    line = file.readline()
    if not line:
        break
    pass # do something
file.close()
復制代碼

一行一行得從文件讀數據,顯然比較慢;

不過很省內存;

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

2:fileinput

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

寫法簡單一些,不過測試以后發現每秒只能讀13000行數據,效率比上一種方法慢了兩倍多;

3:readlines()

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

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

4:文件迭代器

每次只讀取和顯示一行,讀取大文件時應該這樣:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM