Get last n lines of a file, similar to tail

前端 未结 30 2919
挽巷
挽巷 2020-11-22 03:46

I\'m writing a log file viewer for a web application and for that I want to paginate through the lines of the log file. The items in the file are line based with the newest

30条回答
  •  日久生厌
    2020-11-22 04:09

    Assumes a unix-like system on Python 2 you can do:

    import os
    def tail(f, n, offset=0):
      stdin,stdout = os.popen2("tail -n "+n+offset+" "+f)
      stdin.close()
      lines = stdout.readlines(); stdout.close()
      return lines[:,-offset]
    

    For python 3 you may do:

    import subprocess
    def tail(f, n, offset=0):
        proc = subprocess.Popen(['tail', '-n', n + offset, f], stdout=subprocess.PIPE)
        lines = proc.stdout.readlines()
        return lines[:, -offset]
    

提交回复
热议问题