Skip to content

Instantly share code, notes, and snippets.

Last active Mar 13, 2022
What would you like to do?
Simple implementation of the tail command in Python
Basic tail command implementation
Usage: filename numlines
import sys
import linecache
if len(sys.argv) !=3:
print 'Usage: <file> <nlines>'
# filename and number of lines requested
fname, nlines = sys.argv[1:]
nlines = int(nlines)
# count the total number of lines
tot_lines = len(open(fname).readlines())
# use line cache module to read the lines
for i in range(tot_lines - nlines + 1, tot_lines+1):
print linecache.getline(sys.argv[1],i),
""" This is a more efficient version, since it does not read the entire
import sys
import os
bufsize = 8192
lines = int(sys.argv[1])
fname = sys.argv[2]
fsize = os.stat(fname).st_size
iter = 0
with open(sys.argv[2]) as f:
if bufsize > fsize:
bufsize = fsize-1
data = []
while True:
iter +=1*iter)
if len(data) >= lines or f.tell() == 0:
Copy link

blasti commented Mar 13, 2022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment