2016-09-07 15 views
0

私はどこでもargparseのチュートリアルを読んできましたが、なぜ私のプログラムがエラーになっているのかわからないようです。私のコードは、現在、次のようになります。Python 2.7 Argparseオプションと必要な引数

parser = argparse.ArgumentParser() 
parser.add_argument("-d", "-debug", required = False, help = "optional parameter") 
parser.add_argument("input_file", help = "file to be parsed") 
args = parser.parse_args() 

私はコマンド「のpython myprogram.py -d inputfileに」それはあまりにもいくつかの引数があることに文句を言うと、私のプログラムを実行すると。さらに、パラメータとしてinputfileを実行するだけで動作します。

これはなぜ起こっているのでしょうか?

答えて

2

引数のdefault actionは、'store'です。 storeアクションは、通常、がフラグに関連付けられると予想します。

あなたは、これはあなたがあなたが最高です'store_true'アクション

parser = argparse.ArgumentParser() 
parser.add_argument("-d", "--debug", required = False, help = "optional parameter", action = "store_true") 
parser.add_argument("input_file", help = "file to be parsed") 
args = parser.parse_args() 
+0

を表示したい場合にはフラグのブールスイッチタイプになりたいように見えます – blazerix

関連する問題