やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

コマンド・パーサがほしい

 Pythonでコマンドツールを簡単に作りたい。コマンド解析するパーサがあるが、よいのがない。

既存

argparser

 argparserは標準ライブラリである。なので新たにインストールせずともよいのが魅力。

 だが、ヘルプを自由にカスタマイズできない。

 コードも冗長。

click

 デコレータが多用されていて嫌。デコレータは下のほうから適用されるという直感的でない実行順序になる。これが罠になるかもしれず、デコレータは使いたくない。

fire

 コードが短くて済むのはよい。

 だが、実装していないのにupperなどのコマンドが勝手に組み込まれていたり、その関係なのか謎のエラーを吐いたりする。

 また、ヘルプが気に食わない。ヘルプの表示はmanに似せてある。ANSI ESCAPE_CODEにより太字などの表現ができるのはよい。だが、やはり自由に変更できない。なぜか表示開始行が現在の行位置になってしまい、下のほうから表示されるという不具合がある。

所感

 自分でつくるしかない。でも、まずは設計からして難しそう。

対象環境

$ uname -a
Linux raspberrypi 5.10.52-v7l+ #1441 SMP Tue Aug 3 18:11:56 BST 2021 armv7l GNU/Linux