Wie man sowas wie die 'head' und 'tail' Befehle in Python implementiert und rückwärts durch Zeilen einer Textdatei liest?
head
ist einfach:
tail
ist schwieriger, wenn Sie nicht die gesamte Datei im Speicher behalten möchten. Wenn es sich bei der Eingabe um eine Datei handelt, könnten Sie mit dem Lesen von Blöcken beginnen, die am Ende der Datei beginnen. Das ursprüngliche tail
funktioniert auch, wenn die Eingabe eine Pipe ist, also ist eine allgemeinere Lösung, die gesamte Eingabe zu lesen und zu verwerfen, mit Ausnahme der letzten paar Zeilen. Eine einfache Möglichkeit dazu ist collections.deque
:
In beiden Code-Snippets ist n
die Anzahl der zu druckenden Zeilen.