Это каркас самостоятельного задания. Вам нужно доработать main.py: прочитать комментарии из файла, проверить каждый текст готовой функцией is_toxic() и вывести итоговый отчёт.
.
├── comments.txt
├── main.py
├── pytest.ini
├── requirements.txt
├── toxicity_checker.py
└── tests/
├── conftest.py
├── test_batch_processing.py
├── test_project_files.py
└── test_report.py
Программа должна:
- открыть
comments.txtв кодировке UTF-8 и прочитать его построчно; - очистить края строк и пропустить пустые строки;
- вызвать
is_toxic()ровно один раз для каждого комментария; - посчитать общее число, количество токсичных и количество прошедших модерацию комментариев;
- вывести ровно три строки:
Всего комментариев: 100
Токсичных комментариев: <целое число>
Комментариев, прошедших модерацию: <целое число>
Не изменяйте comments.txt, toxicity_checker.py и директорию tests.
Используйте Python 3.14. Создайте виртуальное окружение:
python -m venv venvАктивируйте его командой .\venv\Scripts\Activate.ps1 в Windows PowerShell или source venv/bin/activate в macOS и Linux. Установите все зависимости из единого файла:
python -m pip install -r requirements.txtЗапустите pytest из корневой директории проекта:
python -m pytest -vВ conftest.py описаны общие фикстуры и два набора входных данных. Отдельные файлы проверяют состав проекта, построчную обработку и итоговый отчёт. При запуске тестов ML-модель не загружается: её заменяет детерминированная заглушка.
До доработки main.py четыре поведенческие проверки завершатся неудачно. После решения вы увидите итог:
13 passed
После успешной автопроверки запустите реальную модерацию:
python main.pyПри первом запуске потребуется интернет, чтобы скачать файлы модели. Повторные запуски обычно используют локальный кэш.