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读取文件中的指定行,如上。
从文件中读取多行,如下
如果文件不大,用如下方法,因为linecache占用缓存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()
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 ''