Pythonでコマンドツールを簡単に作りたい。コマンド解析するパーサがあるが、よいのがない。
既存
argparser
argparserは標準ライブラリである。なので新たにインストールせずともよいのが魅力。
だが、ヘルプを自由にカスタマイズできない。
コードも冗長。
click
デコレータが多用されていて嫌。デコレータは下のほうから適用されるという直感的でない実行順序になる。これが罠になるかもしれず、デコレータは使いたくない。
fire
コードが短くて済むのはよい。
だが、実装していないのにupper
などのコマンドが勝手に組み込まれていたり、その関係なのか謎のエラーを吐いたりする。
また、ヘルプが気に食わない。ヘルプの表示はman
に似せてある。ANSI ESCAPE_CODEにより太字などの表現ができるのはよい。だが、やはり自由に変更できない。なぜか表示開始行が現在の行位置になってしまい、下のほうから表示されるという不具合がある。
所感
自分でつくるしかない。でも、まずは設計からして難しそう。
対象環境
- Raspbierry pi 4 Model B
- Raspberry Pi OS buster 10.0 2020-08-20 ※
- bash 5.0.3(1)-release
$ uname -a Linux raspberrypi 5.10.52-v7l+ #1441 SMP Tue Aug 3 18:11:56 BST 2021 armv7l GNU/Linux