🏋️ Раздел тренировки
Выполните задания в отдельных файлах. Используйте контекстный менеджер with, явно указывайте кодировку utf-8 и обрабатывайте отсутствие файла.
FileNotFoundError.
Задание 1. Подсчёт частоты слов в файле
Условие: напишите программу, которая подсчитывает, сколько раз каждое слово встречается в файле (не учитывая регистр).
- Программа запрашивает имя файла и количество популярных слов для вывода.
- Если указанный файл не существует, программа должна вывести ошибку.
Пример ввода:
Введите имя файла: text.txt
Введите количество популярных слов: 3
Пример вывода:
Популярные слова:
python: 4
is: 3
in: 2
Подсказка: используйте collections.Counter и предварительно очистите текст от знаков препинания.
Задание 2. Удаление пустых строк
Условие: напишите программу, которая удаляет пустые строки из указанного пользователем файла и записывает результат в новый файл.
- Имя нового файла формируется автоматически по шаблону
<oldname>_cleaned.txt. - Если указанный файл не существует, программа должна вывести ошибку.
Пример ввода:
Введите имя файла: tasks.txt
Пример вывода:
Пустые строки удалены, сохранено в tasks_cleaned.txt.
Подсказка: используйте os.path.splitext() или rsplit(".", 1) для формирования имени нового файла.
Задание 3. Файлы с заданным расширением
Условие: напишите программу, которая принимает путь к директории и расширение файлов через аргументы командной строки, ищет файлы с указанным расширением и выводит список найденных файлов.
Пример запуска:
python script.py /home/user/projects .py
Пример вывода:
Найденные файлы в директории '/home/user/projects':
script.py, test.py, main.py
Подсказка: используйте модуль os и функцию os.listdir() или os.walk().
🏠 Задания из LMS
Домашнее задание 1. Фильтрация по ключевому слову
Напишите программу, которая ищет в файле все строки, содержащие указанное пользователем слово, и сохраняет их в новый файл.
- Имя нового файла формируется как
<keyword>_<original_filename>. - Если файл не существует, программа должна вывести ошибку.
- Если совпадения не найдены, новый файл не создаётся.
Пример ввода:
Введите имя файла для поиска: system_log.txt
Введите ключевое слово: error
Пример вывода:
Строки, содержащие 'error', сохранены в error_system_log.txt.
Домашнее задание 2. Поиск и удаление дубликатов
Напишите программу, которая удаляет дублирующиеся строки из файла и сохраняет результат в новый файл.
- Имя нового файла формируется как
unique_<original_filename>. - Если файл не существует, программа должна вывести ошибку.
- Исходный порядок строк должен сохраниться.
- Если в файле нет дубликатов, создаётся точная копия файла.
Пример ввода:
Введите имя файла: movies_to_watch.txt
Пример вывода:
Дубликаты удалены. Уникальные строки сохранены в unique_movies_to_watch.txt.