Последняя глава — не новая тема, а сборка: полноценный инструмент командной строки, использующий практически каждую главу этой книги, от битов до Git.
Инструмент командной строки, который подключается к Arduino (глава 26), периодически читает показания датчика и записывает их в CSV-файл с меткой времени (глава 19) — но, в отличие от главы 26, теперь это настоящая программа с аргументами командной строки, структурой класса и обработкой ошибок, а не просто последовательность инструкций сверху вниз.
В главе 23 аргументы командной строки читались напрямую из sys.argv —
рабочий, но хрупкий подход: нет проверки, что аргумент вообще передан, нет вывода
подсказки по доступным опциям. Стандартный модуль argparse решает это:
Запуск с --help автоматически покажет описание всех доступных опций — то,
чего не было бы у самодельного разбора sys.argv без дополнительной ручной
работы.
Полноценная команда терминала (блок 2), с проверяемыми аргументами, понятными сообщениями
об ошибках вместо сырого traceback (глава 21), корректным закрытием соединения даже при
прерывании Ctrl+C, и записью, которую можно прервать и возобновить в любой момент — файл
открыт в режиме дозаписи ("a", глава 19), а не перезаписи.
С этого момента любое изменение инструмента — новая опция, исправленная ошибка, поддержка другого формата вывода — фиксируется отдельным коммитом, с полной историей того, что и когда менялось (глава 25).
--dry-run, показывающую первые несколько показаний без
записи в файл — тот же принцип безопасности, что уже применялся в главе 23.pyserial.tools.list_ports.requirements.txt,
готовый к переносу на другой компьютер одной командой установки зависимостей.27 глав — от физического состояния транзистора (глава 01) до работающего инструмента командной строки, читающего реальные данные с реального устройства и надёжно сохраняющего их на диск. По пути встретились GOTO из BASIC, структурные блоки Pascal, три разные командные оболочки, полный базовый синтаксис Python, обработка ошибок, объекты, версии кода и, наконец, электроника снова — но теперь управляемая языком, а не паяльником. Каждая поздняя глава опиралась на более раннюю не для красоты, а потому что программирование и электроника — как ты уже знаешь по опыту предыдущих учебников — устроены одинаково: настоящее понимание строится слоями, и ни один слой не появляется просто так, из ниоткуда.
Книга бесплатна для чтения. Автор — Тариел Бежанидзе, компьютерный мастер в Батуми · tariel.ge · все бесплатные книги. Копировать текст целиком на другие сайты — только со ссылкой на источник.