JustCaptain kod-buduschego
main
Перейти к файлу
Код
kod-buduschego Python 2025-20263.6. Работа с файламиpracticeschatgpttask_1main.py
anc update c70a58f 8 октября 2026 г.
main.py
"""
1. ## Журнал космической станции
   Контекст: есть лог станции. Некоторые сообщения — ошибки.

Файл: station_log.txt

Пример:

[12:00] oxygen stable
[12:05] WARNING: low pressure
[12:08] crew lunch
[12:10] ERROR: reactor offline

Задачи:

- Подсчитать количество ERROR.
- Вывести все строки с WARNING.
- Найти время первой ошибки.
- Сохранить ошибки в critical.txt.

"""


def read_log(path: str, tags: list[str], save: str | None = None) -> None:
    with open(file=path, mode="r", encoding="utf-8") as file:
        lines: list[str] = file.readlines()
    count: int = 0
    data: str = ""
    for line in lines:
        for tag in tags:
            if tag in line:
                count += 1
                if save:
                    data += line
    if save:
        with open(file=save, mode="w", encoding="utf-8") as file:
            file.write(data)


read_log(path="station_log.txt", tags=["ERROR", "WARNING"], save="critical.txt")