Posts on argparse

ちょっとしたコマンドラインツールをpythonで作る時に便利なargparseのテストで気をつけるべきこと。

ちょっとしたコマンドラインツールをpythonで作る時に便利なargparseなんですが、位置引数ありparserが出す例外をテストするコードを書いて初めて知ったことがありました。 そのメモ書きになります。 位置引数とは argparseの公式ページにも載っている通り、コマンドライン実行時に必須となる引数のことです。以下引用。 位置引数は次のように作成します: >>> >>> parser.add_argument('bar') parse_args() が呼ばれたとき、オプション引数は接頭辞 - により識別され、それ以外の引数は位置引数として扱われます: >>> >>> parser = argparse.ArgumentParser(prog='PROG') >>> parser.add_argument('-f', '--foo') >>> parser.add_argument('bar') >>> parser.…

ちょっとしたコマンドラインツールをpythonで作る時に便利なargparseの使い方

2016.11.3 追記しました。argparseのテストで気をつけるべきこと。 ちょっとしたコマンドラインツールを作るとき、欲しくなるのが以下のようなカッコイイオプション指定機能とヘルプ表示。 pythonなら、標準で使えるargparseパッケージを使って簡単に実装することができます。 こうして作ったツールをstart−stop−daemonと組み合わせて、オフグリッドシステム監視に使ってたりします。 以下の例は別のツールなので、オフグリッドシステム監視ツールについてはまた別の機会に。 $ ./photosort.py -h usage: photosort.py [-h] [-d [PATH_ROOT_DST]] [-p SORT_PHOTO_EXTENTIONS [SORT_PHOTO_EXTENTIONS ...]] [-v SORT_VIDEO_EXTENTIONS [SORT_VIDEO_EXTENTIONS ...]] [-l DELIMITER] [--subdir-year] [--subdir-month] [--copy] [--debug DEBUG] path_root_src This script to make directory…