🏋️ Раздел тренировки
Выполните задания в отдельных файлах. Используйте os.path для проверок и os.path.join для сборки путей.
sys.argv.
Задание 1. Определение типа объекта
Условие: напишите программу, которая запрашивает у пользователя путь и определяет, является ли он файлом, папкой или он не существует.
Пример ввода:
Введите путь: example.txt
Пример вывода:
example.txt — это файл.
Подсказка: используйте os.path.isfile и os.path.isdir.
Задание 2. Файлы с заданным расширением
Условие: напишите программу, которая принимает путь к директории и расширение файлов через аргументы командной строки, ищет файлы с указанным расширением в указанной директории и выводит их список.
Пример запуска:
python script.py /home/user/projects .py
Пример вывода:
Найденные файлы в директории '/home/user/projects':
script.py, test.py, main.py
Подсказка: проверьте len(sys.argv), убедитесь, что директория существует, и используйте os.listdir с фильтром по окончанию имени файла.
🏠 Задания из LMS
Задание 3. Список файлов и папок
Условие: напишите программу, которая принимает путь к директории через аргумент командной строки и выводит отдельно список папок и отдельно список файлов.
Пример запуска:
python script.py /home/user/documents
Пример вывода:
Содержимое директории '/home/user/documents':
Папки:
- folder1
- folder2
Файлы:
- file1.txt
- file2.txt
- notes.docx
Задание 4. Поиск и удаление файлов с указанным расширением
Условие: напишите программу, которая:
- принимает путь к директории и расширение файлов через аргументы командной строки;
- рекурсивно ищет файлы с этим расширением во всех вложенных папках;
- спрашивает у пользователя, хочет ли он удалить найденные файлы;
- если пользователь подтверждает, удаляет их.
Пример запуска:
python script.py /home/user/PycharmProjects/project1 .log
Пример вывода:
Найдены файлы с расширением '.log':
- logs/error.log
- logs/system.log
- logs/backup/old.log
- logs/backup/debug.log
Вы хотите удалить эти файлы? (y/n): y
Удаление завершено.