Python 讀取txt文本文件

Python的文本文件的內容讀取中,有三類方法:read()、readline()、readlines(),這三種方法各有利弊。spa

https://blog.csdn.net/u011204487/article/details/79273060.net

read():

read()是最簡單的一種方法,一次性讀取文件的全部內容放在一個大字符串中,即存在內存中code

 

file_object = open('test.txt') //不要把open放在try中,以防止打開失敗,那麼就不用關閉了
try: file_context = file_object.read() //file_context是一個string,讀取完後,就失去了對test.txt的文件引用
    #  file_context = open(file).read().splitlines() // file_context是一個list,每行文本內容是list中的一個元素
finally: file_object.close() //除了以上方法,也可用with、contextlib均可以打開文件,且自動關閉文件, //以防止打開的文件對象未關閉而佔用內存

 

read()的利端對象

方便、簡單blog

一次性獨讀出文件放在一個大字符串中,速度最快ip

read()的弊端內存

文件過大的時候,佔用內存會過大字符串

readline():

readline()逐行讀取文本,結果是一個liststring

readline()的利端it

佔用內存小,逐行讀取

readline()的弊端

因爲是逐行讀取,速度比較慢

readlines():

**readlines()一次性讀取文本的全部內容,結果是一個list

with open(file) as f: for line in f.readlines(): print line

 

這種方法讀取的文本內容,每行文本末尾都會帶一個'\n'換行符 (可使用L.rstrip('\n')去掉換行符)

readlines()的利端

一次性讀取文本內容,速度比較快

readlines()的弊端

隨着文本的增大,佔用內存會愈來愈多

最簡單、最快速的逐行處理文本的方法:直接for循環文件對象

file_object = open('test.txt','rU') try: for line in file_object: do_somthing_with(line)//line帶"\n"
finally: file_object.close()
相關文章
相關標籤/搜索