Skip to main content

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

Project description

.. image:: https://travis-ci.org/GreatFruitOmsk/tailhead.svg?branch=master

======
tailhead
======

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.

- `tailhead on GitHub <tailhead>`_
- `tailhead on Pypi <http://pypi.python.org/pypi/tailhead>`_

Installation
============

Install with ``pip`` or ``easy_install``.

::

pip install tailhead

Examples
========

::

import tailhead
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
tailhead.tail(open('test.txt'), 3)
# ['Line 9', 'Line 10', 'Line 11']

Head
----
::

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

Follow
------
::

# Follow the file as it grows
for line in tailhead.follow('test.txt'):
if line is not None:
print(line)
else:
# sleep

Running Tests
=============

Tailer currently only has doctests.

Run tests with nose::

nosetests --with-doctest tailhead

Run tests with doctest::

python -m doctest -v tailhead/__init__.py

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tailhead-1.0.0.tar.gz (7.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page