Python tail is a simple implementation of GNU tail and head.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src/tailer Fix tests for Python 3 Dec 9, 2015
.gitignore - Added MANIFEST Feb 27, 2012
.travis.yml
LICENSE
MANIFEST.in
README.rst
VERSION.txt
fabfile.py
setup.py

README.rst

Tailer

Build Status

Python tail is a simple implementation of GNU tail and head.

It provides 3 main functions that can be performed on any file-like object that supports seek() and tell().

  • tail - read lines from the end of a file
  • head - read lines from the top of a file
  • follow - read lines as a file grows

It also comes with pytail, a command line version offering the same functionality as GNU tail. This can be particularly useful on Windows systems that have no tail equivalent.

Installation

Install with pip or easy_install.

pip install tailer

Examples

import tailer
f = open('test.txt', 'w')
for i in range(11):
    f.write('Line %d\\n' % (i + 1))
f.close()

Tail

# Get the last 3 lines of the file
tailer.tail(open('test.txt'), 3)
# ['Line 9', 'Line 10', 'Line 11']

Head

# Get the first 3 lines of the file
tailer.head(open('test.txt'), 3)
# ['Line 1', 'Line 2', 'Line 3']

Follow

# Follow the file as it grows
for line in tailer.follow(open('test.txt')):
    print line

Running Tests

Tailer currently only has doctests.

Run tests with nose:

nosetests --with-doctest src/tailer

Run tests with doctest:

python -m doctest -v src/tailer/__init__.py