組み込み開発のためのPython · レッスン 192 / 220

小さなプロジェクトとコマンド引数

処理を関数に分け、コマンドライン引数で入力値を渡す基本を学びます。

試験用スクリプトでも、値を直接書き換える運用が続くと、変更履歴や再現性が損なわれます。入力を引数にし、処理と起動部分を分けて、実行条件を残しやすくします。

入力条件をコマンドに残す

ファイル名や通信速度など、実行ごとに変わる値はコマンドライン引数で受け取れます。`argparse`を使うと、型、必須項目、ヘルプ表示を一元管理できます。設定値を実行記録に残せば、後から同じ条件を再現しやすくなります。

責務を分けて読みやすくする

引数解析、入力検証、実際の処理を別の関数に分けると、通信処理をせずに検証だけを試せます。小さな段階で構成を整えておけば、機器の接続先や測定方法が増えたときにも変更箇所を限定できます。

コード例

手元のPython環境に貼り付ける前に、使用しているPythonの版と対象ライブラリの対応を確認してください。

import argparse


def main() -> int:
    parser = argparse.ArgumentParser(description="測定条件を表示します")
    parser.add_argument("--baud", type=int, default=115200)
    args = parser.parse_args()
    if args.baud <= 0:
        parser.error("--baud は正の値を指定してください")
    print(f"設定ボーレート: {args.baud}")
    return 0


if __name__ == "__main__":
    raise SystemExit(main())

手を動かす課題

引数を一つ追加し、0や負数など無効な値では処理を止めて、利用方法が表示されることを確認してください。

参考資料

「1. 開発環境と実行の基本」の章一覧へ