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
(中略)
どうぞ、宜しくお願い致します。
お礼
すみません。自己解決しました。 2つのglEnableClientStateを コメントアウトしたところ、 正常に動作しました。 GLSLで頂点及び色を設定するときは GL_VERTEX_ARRAYやGL_COLOR_ARRAYを Enableにしてはいけないのですね。 (glBufferDataをGL_STATIC_DRAWで データ有りで呼び出した場合は上記2つの ステートをEnableにして正常に動いていたので 必要なのだと思っておりました。) 失礼いたしました。
補足
ご回答ありがとうございます。 ですが、 glewInitはglutCreateWindow後に呼び出してます。 (呼び出してない場合、おそらくはglGenBuffers あたりでアクセス違反になるのではないかと)