Source code for smpl_io.tail

from io import StringIO
from .read_buffer import ReadBuffer
import smpl_doc.doc as doc 
[docs]def tail(*inps, open=True, n=1): """ Returns the last ``n`` lines of ``fname``. Parameters ---------- inps : buffer, str, array_like object to read from n : int, optional number of lines to return, by default 1 Returns ------- str last ``n`` lines of ``fname``. Examples -------- >>> from smpl_io import io >>> import pandas as pd >>> io.write("test.txt","hi\\n1\\n2\\n3\\n4\\n") >>> pd.read_csv(tail("test.txt",n=2)) 3 0 4 >>> pd.read_csv(tail("test.txt",n=3)) 2 0 3 1 4 """ ret = StringIO() for inp in inps: with ReadBuffer(inp,open=open) as inp: ret.write("\n".join(inp.readlines()[-n:])) ret.seek(0,0) return ret
tailf= doc.deprecated( version="1.0.6.1", removed_in="2.0.0", reason="Use :func:`smpl_io.tail(..., open=True)` instead.", )(tail)