01_Ограничения_стандартных_средств.md - YaroslavGit28/os.sys-PY GitHub Wiki
01. Ограничения стандартных средств
Цель модуля — показать, почему одних стандартных инструментов ОС (Проводник, cmd, PowerShell) иногда недостаточно, и появляется смысл писать небольшой вспомогательный инструмент на Python.
1.1. Ручная работа в файловом менеджере (без Python и os)
Без Python и os.system пользователь выполняет действия вручную:
- открыть Проводник;
- кликать по папкам;
- правой кнопкой — «Создать папку»;
- правой кнопкой — «Удалить» и т.д.
Плюсы:
- просто и привычно;
- не нужно программировать.
Минусы:
- нет автоматизации (каждое действие — руками);
- трудно воспроизвести сценарий (много шагов, легко ошибиться);
- нельзя «переиспользовать» сценарий на другой машине как код.
1.2. Ручная работа в терминале (без os.system)
В терминале можно использовать команды ОС напрямую.
Windows (PowerShell / cmd), без Python:
cd "C:\Users\Windows\Desktop\os.sys"
mkdir test
dir
rmdir test
Linux / macOS, без Python:
cd ~/Desktop
mkdir test
ls
rmdir test
Это уже ближе к автоматизации (скрипты .bat, .ps1, .sh), но:
- команды зависят от ОС;
- синтаксис разный, проверка ошибок — на совести пользователя;
- нет единой «обёртки» на Python, где можно добавить логику.
1.3. Сравнение: без библиотеки os vs с библиотекой os
Пример: показать содержимое директории
Без Python (терминал):
cd "C:\Users\Windows\Desktop\os.sys"
dir
С Python и библиотекой os / pathlib:
from pathlib import Path
current_dir = Path.cwd()
for item in current_dir.iterdir():
print(item.name)
Пример: создать папку
Без Python (PowerShell):
mkdir reports
С Python (os.mkdir):
import os
from pathlib import Path
current_dir = Path.cwd()
os.mkdir(current_dir / "reports")
1.4. График: «ручной труд» vs «автоматизация»
Наглядный график (ASCII):
Количество однотипных операций
^
| Без Python
| ******
| ****** С Python (скрипт)
| ****** **
| ****** **
+-------------------------------> масштаб задачи
малый средний/большой
Чем крупнее задача (создать N папок, очистить множество файлов и т.д.), тем выгоднее иметь автоматизацию на Python вместо чисто ручных действий.