明示的なリストがあるPython 3アプリケーションでargparseを使用しようとしていますが、指定されていない場合はデフォルトが使用されています。python argparseの選択肢はデフォルトの選択
私が持っているコードは次のとおりです。
parser.add_argument('--list', default='all', choices=['servers', 'storage', 'all'], help='list servers, storage, or both (default: %(default)s)')
args = parser.parse_args()
print(vars(args))
しかし、私はこれを実行すると、私はオプションで、以下の取得:
$ python3 ./myapp.py --list all
{'list': 'all'}
またはオプションなし:
$ python3 ./myapp.py --list
usage: myapp.py [-h] [--list {servers,storage,all}]
myapp.py: error: argument --list: expected one argument
私はここに何かを逃していますかまたは、選択肢を指定してデフォルトを設定することはできませんか?
--list'全くとデフォルトがされる '渡してはいけません中古。 – ShadowRanger
私は参照してください...それはあなたが[サブコマンド](https://docs.python.org/3/)のように聞こえます。 – MVanOrder
library/argparse.html#sub-commands)、スイッチではありません。 'nargs = '?'であっても、' --list'とデフォルトセットがあるときは何も渡さないという違いは分かりません。 – ShadowRanger