如何在 argparse 中以 `input=<INPUT>` 的形式指定参数

问题描述 投票:0回答:1

我可以使用 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=' 后跟输入字符串可以作为有效的命令行参数给出?

python argparse
1个回答
1
投票

你不需要明确要求支持

=
。它应该可以正常工作。

>>> 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 将破折号替换为其他内容,但您无法完全摆脱它。

© www.soinside.com 2019 - 2024. All rights reserved.