Source code for fancytools.os.countLines
[docs]def countLines(filename, buf_size=1048576):
'''
fast counting to the lines of a given filename
through only reading out a limited buffer
'''
f = open(filename)
try:
lines = 1
read_f = f.read # loop optimization
buf = read_f(buf_size)
# Empty file
if not buf:
return 0
while buf:
lines += buf.count('\n')
buf = read_f(buf_size)
return lines
finally:
f.close()
if __name__ == '__main__':
import __main__
f = __main__.__file__
print("file %s has %s lines" %(f, countLines(f)) )