Nic*_*mer 16 python default-value argparse
使用Python的argparse,我想添加一个可选参数,如果没有给出,则获取另一个(强制)参数的值.
parser.add_argument('filename',
metavar = 'FILE',
type = str,
help = 'input file'
)
parser.add_argument('--extra-file', '-f',
metavar = 'ANOTHER_FILE',
type = str,
default = ,
help = 'complementary file (default: FILE)'
)
Run Code Online (Sandbox Code Playgroud)
我当然可以None
在解析参数后手动检查,但是不是有更多的pythonic方法吗?
mgi*_*son 15
据我所知,除此之外没有办法做得更干净:
ns = parser.parse_args()
ns.extra_file = ns.extra_file if ns.extra_file else ns.filename
Run Code Online (Sandbox Code Playgroud)
(就像你提出的问题一样).
你可能会做一些与此类似的自定义动作体操,但我真的不认为这是值得的(或"pythonic").
归档时间: |
|
查看次数: |
7521 次 |
最近记录: |