pythonのargparseで引数の数の可変
現在、pythonのプログラムで、コマンドにオプションを付けて、それによって戻ってくる結果を表示するようにしたいと思い作成しています。
それで、次のようなプログラムを作ることができました。
$ python pythonProg.py -s 5 5 5
5
5
5
5+5+5 == 15
(githubでの現在のソースコード内容)
https://github.com/KenjiMaehara/raspberryPiTCPClient/blob/testBranch20170201_02/testSpi161101/pythonProg.py
現在、-sのオプションと3つの引数x,y,zを渡すと、x,y,zの総和を表示するようにしているのですが、
引数の数を2つにした場合、次のようなエラーが出てきます。
$ python pythonProg.py -s 5 5
usage: pythonProg.py [-h] [-v | -q | -s] x y z
pythonProg.py: error: too few arguments
”argumentsが少ない”というエラーなのでしょうが、引数を3つ以外でも総和を計算できるようにすることはできますでしょうか?
現在のソースコード内容な下記のような感じです。
(pythonProg.pyのファイル内容)
import argparse
parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument("-v", "--verbose", action="store_true")
group.add_argument("-q", "--quiet", action="store_true")
group.add_argument("-s", "--sum", action="store_true")
parser.add_argument("x", type=int, help="the base")
parser.add_argument("y", type=int, help="the exponent")
parser.add_argument("z", type=int, help="the exponent")
args = parser.parse_args()
answer = args.x+args.y
answer02 = args.x+args.y+args.z
(中略)
どうぞ、宜しくお願い致します。
補足
ありがとうございます。 そしていきなりの説明不足で申し訳ありません。 dataの中身を以下のjsonファイルに入れておいて、 /json/data.json それを読み込みたいです。 json形式のファイルを読み込んで中身を表示させる程度は何度かやっているのですが、 ご提示したURLの内にあるソース内で機能する形で読み込みさせる方法がわからず。。 読み込みさえできれば、後はapiの方で表示してくれるのでは?と見当をつけてトライしている次第です。