13_Этапы_реализации.md - YaroslavGit28/os.sys-PY GitHub Wiki
13. Этапы реализации
Этот модуль фиксирует полный путь разработки проекта от идеи до рабочего состояния.
13.1. Этап 1 — определение минимального функционала
Сначала выбирается минимум полезных функций:
- показать содержимое папки;
- сменить текущую директорию;
- создать папку;
- удалить файл или пустую папку;
- открыть текущую директорию в файловом менеджере;
- открыть терминал в текущей директории.
Задача этапа — не “сделать всё”, а выделить набор, максимально полезный для демонстрации os/os.system.
13.2. Этап 2 — проектирование интерфейса меню
На этом этапе проектируется поведение пользователя:
- Видит меню;
- Вводит номер;
- Получает результат;
- Нажимает Enter и возвращается в меню.
Результат этапа — понятная схема UX без сложных взаимодействий.
13.3. Этап 3 — реализация операций файловой системы
Функции:
list_dir()—Path.iterdir;change_dir()— изменениеCURRENT_DIR;make_dir()—os.mkdir;remove_item()—os.remove/os.rmdir.
Основной акцент этапа:
- проверить “базовые” сценарии;
- встроить простые проверки ввода;
- добавить обработку исключений.
13.4. Этап 4 — интеграция системных команд
Реализованы обёртки вокруг os.system:
clear_screen()для чистого экрана;open_explorer()для открытия директории;open_shell_here()для нового PowerShell в нужной папке.
На этом же этапе добавлена развилка по ОС:
os.name == "nt"для Windows;sys.platform == "darwin"для macOS;- иначе Linux/Unix.
13.5. Этап 5 — объединение в единый цикл
Все функции подключаются в main():
- каждое значение
choiceвызывает отдельную функцию; - после действия всегда есть пауза для чтения результата;
0корректно завершает программу.
13.6. Этап 6 — проверка и документация
Проверяется:
- отсутствие синтаксических ошибок;
- корректность веток меню;
- базовая кроссплатформенная логика;
- понятность сообщений об ошибках.
После этого оформляются:
README.md;- структурированная Wiki с примерами, схемами и графиками.
13.7. Таймлайн разработки (диаграмма)
gantt
title Этапы реализации file_manager.py
dateFormat YYYY-MM-DD
section Анализ
Определение требований :a1, 2026-04-01, 1d
section Код
Меню и каркас программы :a2, after a1, 1d
Файловые операции (os/pathlib):a3, after a2, 1d
Интеграция os.system :a4, after a3, 1d
section Финализация
Проверка сценариев :a5, after a4, 1d
README и Wiki :a6, after a5, 1d
13.8. Сравнение с подходом “без Python”
Если делать по шагам без Python:
- придется отдельно документировать команды для каждой ОС;
- повторять логику в разных скриптах;
- сложнее поддерживать единообразие UX.
В текущем проекте весь процесс описан один раз и воспроизводится одним файлом.
13.9. Разбор кода по шагам: этап “права доступа”
if not os.path.exists(target):
print("Такого файла/папки нет.")
return
print(os.access(target, os.R_OK))
print(os.access(target, os.W_OK))
print(os.access(target, os.X_OK))
Что показывает этот этап:
existsсначала проверяет, что объект вообще есть.os.access(..., os.R_OK)— можно ли читать.os.access(..., os.W_OK)— можно ли писать.os.access(..., os.X_OK)— можно ли исполнять.
Почему это полезно:
- связывает тему “ошибка доступа” с конкретным инструментом
os; - помогает объяснить, почему одни операции проходят, а другие дают
OSError.