2016-09-20 4 views
0

Использование argparse, как указать, что я хочу, чтобы два позиционных аргумента отображались вместе или вообще не отображались? То есть Я хочу, чтобы моя строка использование выглядеть следующим образом:Python argparse: требуется два основных позиционных аргумента

Usage: FooBar.py [-h] [FOO BAR] 
+0

'' optional' с nargs = 2' лучше подходит с 'argparse'. – hpaulj

ответ

1

Как полагает @hpaulj, вот решение, которое вы могли бы использовать:

In [1]: import argparse 
In [2]: parser = argparse.ArgumentParser(description="bla bla") 
In [3]: parser.add_argument("--foo", nargs=2, help="a foo argument") 

In [4]: parser.parse_args(["--foo", "1", "2"]) 
Out[4]: Namespace(foo=['1', '2']) 

In [5]: parser.parse_args([]) 
Out[5]: Namespace(foo=None) 

In [6]: parser.print_help() 
usage: ipython [-h] [--foo FOO FOO] 

bla bla 

optional arguments: 
    -h, --help  show this help message and exit 
    --foo FOO FOO a foo argument 
Смежные вопросы