1. 程式人生 > >Python讀取txt檔案的三種方式

Python讀取txt檔案的三種方式

文字處理是經常碰到的一個問題,Python的文字讀取有三個方法可以呼叫:

read()
readaline()
readlines()

直接看名字就大概能猜出什麼意思。 第一個函式就是直接把文字內容全部讀取出來 第二個函式是逐行讀取 第三個函式是逐行全部讀取

每一種方法都各有利弊,簡要如下: read():是最簡單的一種方法,一次性讀取檔案的所有內容放在一個大字串中,即存在記憶體中,方便操作,但是怕檔案過大,記憶體不夠

file_object = open('test.txt')   //open 一個檔案,最好不要把open放進try裡
try:
	file_context = file_object.read()
finally:
    file_object.close()

readline() 逐行讀取,結果是list

with open(file) as f:
    line = f.readline()
    while line:
        print line
        line = f.readline()

逐行讀取,速度慢,佔用記憶體小

readlines() 一次性讀取文字的所有內容,結果是一個list

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

記憶體佔用也會很大,另外可以嘗試: 用for來逐行讀取

file_object = open('test.txt','rU')
try: 
    for line in file_object:
         do_somthing_with(line)    //line帶"\n"
finally:
     file_object.close()