Docstring is not comment

Posted on Wed 20 March 2019 in misc • Tagged with python, argparse, docstring

argparse は便利です。 簡単にコマンドラインオプションがつくれます。ヘルプもつくってくれます。

ただ、素敵なヘルプがつくれると、やっぱりしっかりとつくらないと、と思うわけです。docstring も書いて、argeparse 用にヘルプメッセージも書く。似たような内容になるので面倒は面倒です。両方をメンテナンスしなければなりません。

docstring はコメントではないというところに注目します。docstring は、コメントを決まったフォーマットで書いておいて、そこからドキュメントを生成しようというものではありません。docstring は __doc__ 属性に格納されます。

ですので、docstring は、プログラムの中で、呼び出して、加工して、利用することができます。これは docstring から argparse のヘルプメッセージをつくることも可能だということです。

docstring を書くのを面倒臭がる私には、とってもありがたいです。


Continue reading

Python の Argeparse を使ってみる

Posted on Fri 15 March 2019 in misc • Tagged with python, argparse

家ではLinux ですが、会社では Windows を使っています。きっかけはいろいろですが、ときどき Windows の CLI にいらつかされます。

できるだけ GUI を使うように心がけてはいるのですが、久しぶりに Todo.txt CLI を使ってみたくなり、Git についてくる Bash で動かしてみたら、これが遅い。とんでもなく遅い。バリバリとタスクを追加することを考えると、まったく使えないレベルです。

Python でそれっぽいものを書いて、コマンドプロンプトで使ったほうが良さそうです。そんなときに Argparse です。

いつもはクリックやドラッグ・アンド・ドロップで使えるようにだけしているので、それほど複雑ではありません。今度のように、Todo.txt CLI っぽいものをつくろうとするとサブコマンドが要ります。サブコマンドもそんなに難しくありません。これを sys.argv をいろいろといじって動かそうとすると、途方に暮れることでしょう。

Argparse は覚えておくと便利です …


Continue reading