ChatCrawlerпоиск по публичному Telegram Открыть приложение
О

Основы Python

сообщение · 2026-04-16 13:24 UTC
К
Ответсообщение недоступно
import os lines = list() with open(input(), 'rb') as f: n = int(input()) f.seek(0, os.SEEK_END) # в конец файла прыгнули if (cur_pos := f.tell()) != 0: # если пустой текст, ничего не делаем block = 1024 buf = b'' # пустая строка байтов while cur_pos > 0 and len(lines) <= n: size = min(block, cur_pos) cur_pos -= min(block, cur_pos) # отошли от конца на 1024 Кб или ушли сразу в начало f.seek(cur_pos) buf += f.read(size) # читает начиная от курсора до конца блока из size байтов lines = buf.split(b'\n') if buf.endswith(b'\n'): lines = lines[:-1] lines = lines[-n:] if len(lines) > n else lines for line in lines: # декодируем байты в символы, если будут порченные символы(обрезанные по байтовому представлению), # заменим на знак вопроса в ромбике print(line.decode('UTF-8', errors='replace'))

Вся лента · оригинал в Telegram

Открыть в Telegram Каталог площадок Искать в ChatCrawler

Слепок открытой публичной ленты из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог