展开全部
#!/usr/bin/env python
# coding: utf-8
def getfilelines(filename, eol='\n', buffsize=4096):
"""计算给定文件有多少行"""
with open(filename, 'rb') as handle:
linenum = 0
buffer = handle.read(buffsize)
while buffer:
linenum += buffer.count(eol)
buffer = handle.read(buffsize)
return linenum
def readtline(filename, lineno, eol="\n", buffsize=4096):
"""读取文件的指定行"""
with open(filename, 'rb') as handle:
readedlines = 0
buffer = handle.read(buffsize)
while buffer:
thisblock = buffer.count(eol)
if readedlines
# inthisblock: findthe line content, and return it
return buffer.split(eol)[lineno - readedlines - 1]
elif lineno == readedlines