Программа Python для чтения последних N строк файла: 4 метода

Вот программа на Python, которая считывает последние nстроки файла:

Метод 1: использование функций seekи splitlines

def read_last_n_lines(filename, n):
    with open(filename, 'r') as file:
        lines = file.read().splitlines()
        return lines[-n:]
# Usage
filename = 'example.txt'  # Replace with your file's name
n = 5  # Number of lines to read
last_lines = read_last_n_lines(filename, n)
for line in last_lines:
    print(line)

Метод 2: использование seek, readlinesи нарезки

def read_last_n_lines(filename, n):
    with open(filename, 'r') as file:
        file.seek(0, 2)
        lines = file.readlines()
        return lines[-n:]
# Usage is the same as Method 1

Метод 3. Использование dequeдля эффективного извлечения строк

from collections import deque
def read_last_n_lines(filename, n):
    with open(filename, 'r') as file:
        lines = deque(file, n)
        return list(lines)
# Usage is the same as Method 1

Метод 4. Использование модуля linecache

import linecache
def read_last_n_lines(filename, n):
    lines = []
    with open(filename, 'r') as file:
        for line in linecache.getlines(filename)[-n:]:
            lines.append(line.rstrip('\n'))
    return lines
# Usage is the same as Method 1

Это четыре разных метода чтения последних nстрок файла с использованием Python.