Войти Создать аккаунт

Файлы · 12 из 19

Старое — в архив

Журнал сервера пишется одним файлом, и раз в неделю Стас переносит из него всё старое в архив: старое дописывается в конец архива, а в журнале остаётся только свежее. Архив копится годами, поэтому его никогда не переписывают — только дописывают.

Что сделать

Перенесите из журнала в архив все записи старше заданной даты; в журнале оставьте остальные.

Что приходит

  • zhurnal — имя файла журнала; строка начинается с даты ГГГГ-ММ-ДД

  • arhiv — имя файла архива; его может ещё не быть

  • granica — дата "ГГГГ-ММ-ДД": записи раньше неё — старые

Что вернуть

Сколько записей перенесено; старые — дописаны в конец архива по порядку, в журнале — только остальные.

Допишите функцию v_arhiv в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

Пример

В журнале записи за 28, 29 и 30 октября, граница — "2026-10-30". Записи за 28-е и 29-е дописываются в архив, в журнале остаётся одна — за 30-е; ответ 2.

Тот же пример кодом
Перед вызовом
with open("server-1.log", "w", encoding="utf-8") as f:
    f.write("2026-10-28 09:00 INFO a\n2026-10-29 10:00 WARN b\n2026-10-30 11:00 INFO c\n")
n = v_arhiv("server-1.log", "arhiv-1.log", "2026-10-30")
with open("arhiv-1.log", encoding="utf-8") as f:
    arhiv = f.read()
with open("server-1.log", encoding="utf-8") as f:
    zhurnal = f.read()
Вызов
(n, arhiv, zhurnal)
Вернуть
(2, '2026-10-28 09:00 INFO a\n2026-10-29 10:00 WARN b\n', '2026-10-30 11:00 INFO c\n')
Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.