我可以使用 argparse 以
的形式添加命令行参数-i <INPUT>
或--input <INPUT>
.我想让命令的形式为
input=<INPUT>
.
我目前拥有的:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-i', '--input', help = "Input is a required field", required = True)
当我将
'--input'
更改为'input='
时,它不起作用。
如何指定格式,以便 'input=' 后跟输入字符串可以作为有效的命令行参数给出?
你不需要明确要求支持
=
。它应该可以正常工作。
>>> import argparse
>>>
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('-i', '--input', help = "Input is a required field", required = True)
_StoreAction(option_strings=['-i', '--input'], dest='input', nargs=None, const=None, default=None, type=None, choices=None, required=True, help='Input is a required field', metavar=None)
>>> parser.parse_args(['--input=foobar'])
Namespace(input='foobar')
>>>
如果你也想摆脱双破折号,你可能必须编写自己的参数解析代码。我没有看到任何表明它受支持的文档。您可以使用 prefix_chars 将破折号替换为其他内容,但您无法完全摆脱它。