143
parser.add_argument('-auto', action='store_true')

指定されていない場合、どのように false を保存でき-autoますか? このように、指定されていない場合はNoneを格納することをかすかに覚えています

4

4 に答える 4

234

このstore_trueオプションは、デフォルト値のFalseを自動的に作成します。

同様に、コマンドライン引数が存在しない場合、store_falseデフォルトでTrueになります。

この動作のソースは簡潔かつ明確です: http://hg.python.org/cpython/file/2.7/Lib/argparse.py#l861

argparse ドキュメントはこの件に関して明確ではないので、今すぐ更新します: http://hg.python.org/cpython/rev/49677cc6d83a

于 2011-11-20T18:31:42.200 に答える
22

import argparse
parser=argparse.ArgumentParser()
parser.add_argument('-auto', action='store_true', )
args=parser.parse_args()
print(args)

ランニング

% test.py

収量

Namespace(auto=False)

Falseしたがって、デフォルトで保存されているようです。

于 2011-11-20T18:24:28.740 に答える
-6

store_false は、実際にはデフォルトでデフォルトになり0ます (テストして確認できます)。デフォルトを変更するdefault=Trueには、宣言に追加するだけです。

したがって、この場合: parser.add_argument('-auto', action='store_true', default=True)

于 2015-06-01T20:49:10.127 に答える