Python

【Python】argparseのサブコマンド的なやつ試してみた

サブコマンド的なやつを試してみました。

実行結果をツラツラと残しておきます。

全体のhelp

mathkuro002:argparse_sample kuro$ python3 ./argparse_sample.py -h
usage: argparse_sample.py [-h] {init,pull} …
positional arguments:
{init,pull}
init Create an empty Git repository or reinitialize an existing one
pull Fetch from and integrate with another repository or a local
branch
optional arguments:
-h, –help show this help message and exit
mathkuro002:argparse_sample kuro$


サブコマンド毎の個別のhelp

mathkuro002:argparse_sample kuro$ python3 ./argparse_sample.py init -h
usage: argparse_sample.py init [-h] [–quiet]
optional arguments:
-h, –help show this help message and exit
–quiet be quiet
mathkuro002:argparse_sample kuro$
mathkuro002:argparse_sample kuro$ python3 ./argparse_sample.py pull -h
usage: argparse_sample.py pull [-h] [–verbose] [–jobs JOBS]
optional arguments:
-h, –help show this help message and exit
–verbose be more verbose
–jobs JOBS number of submodules pulled in parallel
mathkuro002:argparse_sample kuro$


サブコマンドを指定した場合の実行結果

mathkuro002:argparse_sample kuro$
mathkuro002:argparse_sample kuro$ python3 ./argparse_sample.py pull
subcommand: pull
pullが実行されたよー
pull called
mathkuro002:argparse_sample kuro$


間違ったサブコマンドを指定した場合の実行結果

mathkuro002:argparse_sample kuro$ python3 ./argparse_sample.py hoge
usage: argparse_sample.py [-h] {init,pull} …
argparse_sample.py: error: argument subparser_name: invalid choice: ‘hoge’ (choose from ‘init’, ‘pull’)
mathkuro002:argparse_sample kuro$

コメント

タイトルとURLをコピーしました