【发布时间】:2017-12-14 23:26:59
【问题描述】:
我正在尝试通过使用 argparse 来实现以下选项(由于项目要求,不能使用任何其他工具,如 docopt):-
cli.py --conf key1=value1, key2=value2, kay3=value3
or
cli.py --conf key1=value1 key2=value2 key3=value3
到目前为止,我已经尝试过 type=json.loads 或 dict 但没有帮助。
一种可能的解决方案是使用type=str,然后将其解析为dict。
你们知道我缺少的其他更好的解决方案吗?
提前致谢。
注意 - 不能使用 --key1=value1 --key2=value2 --key3=value3 因为我不想限制键/值的计数和名称。它将有助于在未来支持新的 key/val。
【问题讨论】:
-
为什么不对
key1和key2等使用多个参数? -
你不是要求这个吗,Using argparse to parse arguments of form “arg= val”。这似乎对您有帮助。
-
你有固定数量的键值对吗?如果是这样,正如@OferSadan 提到的,你可以像这样传递它们
--key1=value1 --key2=value2 --key3=value3 -
1.还会有其他参数,不想提供选项以将 key1 和 key2 与任何其他参数 2 一起使用。不想限制键/值对的计数和名称,如果需要支持新的键/值,则否参数解析器需要更改
-
@AlokThakur 请在您的问题中提及这两个假设以避免重复。
标签: python python-2.7 argparse