Задание 1. Определение типа объекта
# task1_check_type.py
import os
path = input("Введите путь: ")
if os.path.isfile(path):
print(f"{path} — это файл.")
elif os.path.isdir(path):
print(f"{path} — это папка.")
else:
print(f"{path} не существует.")
Разбор: сначала проверяем, является ли путь файлом. Если нет — проверяем, является ли директорией. Если оба условия ложны, объекта нет. Важен порядок: файл и папка — взаимоисключающие состояния, но isfile перед isdir не имеет значения, потому что одновременно оба условия не могут быть истинными.
Задание 2. Файлы с заданным расширением
# task2_files_by_extension.py
import os
import sys
if len(sys.argv) != 3:
print("Использование: python script.py <директория> <расширение>")
sys.exit(1)
directory = sys.argv[1]
extension = sys.argv[2]
if not os.path.isdir(directory):
print(f"Директория '{directory}' не найдена.")
sys.exit(1)
found = [
file_name
for file_name in os.listdir(directory)
if file_name.endswith(extension)
]
if found:
print(f"Найденные файлы в директории '{directory}':")
print(", ".join(found))
else:
print(f"Файлы с расширением '{extension}' не найдены.")
Разбор: sys.argv[0] — имя скрипта, поэтому пользовательские аргументы начинаются с индекса 1. Проверяем, что передано ровно три элемента. Перед чтением директории убеждаемся, что она существует. Фильтрация выполняется через генератор списка и метод строк endswith.
Домашнее задание из LMS
Полные решения задач «Список файлов и папок» и «Поиск и удаление файлов с указанным расширением» с пошаговой инструкцией по запуску в VS Code находятся в разделе 🏠 Домашнее задание.