J. Хвост

В семействе операционных систем Linux существует одна прекрасная консольная утилита — tail. Она предназначена для случаев, когда нам не нужно читать весь файл, а достаточно просмотреть только несколько последних строк.

Напишите аналог этой утилиты.

Формат ввода

Пользователь вводит имя файла (F), а затем количество строк (N), которые он хочет увидеть.

Формат вывода

Выведите N последних строк файла F.

Пример

Ввод

# Пользовательский ввод:
some_file.txt
2

# Содержимое файла some_file.txt
1 строка
2 строка
3 строка
4 строка
5 строка

Вывод

4 строка
5 строка

Решение

Если вспомнить, что можно воспользоваться срезами, то задача решается элементарно.

Считываем файл любым удобным для нас способом и построчно помещаем его в список. С помощью среза обираем последние N строчек (последние N элементов) и выводим их.

Посмотреть код

Решение

Python
file_name = input().strip()
lines = int(input())

with open(file_name, encoding='UTF-8') as file:
    data = [string for string in file.read().split('\n') if string]

print('\n'.join(data[-lines:]))

Решение

Python
file_name = input()
lines = int(input())

data = []
with open(file_name) as file:
    for string in file:
        data.append(string)
for string in data[-lines:]:
    print(string.strip())
Подписаться
Уведомить о
guest
3 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии