def eachlineof(filename): ''' 逐行讀取給定的文本文件,返回行號、剔除末尾空字符的行內容 ''' with open(filename) as handle: for lno, line in enumerate(handle): yield lno+1, line.strip()
import linecachetheline=linecache.getline('F:/mysite/fiele.txt',1)print theline
讀取文件中的指定行,如上。
從文件中讀取多行,如下
lnum = 0
with open('F:/mysite/fiele.txt', 'r') as fd:
for line in fd:
lnum += 1;
if (lnum >= 2) & (lnum <= 5):
print line
fd.close()
如果文件不大,用如下方法,因爲linecache佔用緩存def getline(thefilepath, desired_line_number):
if desired_line_number < 1: return ''
for current_line_number, line in enumerate(open(thefilepath, 'rU')):
if current_line_number == desired_line_number - 1 : return line
return ''