我希望能够在通过命令行传递选项后保存整数值。理想情况下会是:
python thing.py -s 1 -p 0 1 2 3 -r/-w/-c
-s
- 存储以下整数
-p
- 存储以下整数
最后一部分只能是三个选项中的一个( -r , -w 或 -c ),具体取决于这是我需要做的。
我一直在尝试阅读教程,但他们都使用相同的两个示例,但没有解释如何在-option
之后存储整数。
答案 0 :(得分:4)
>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('-s', type=int)
[...]
>>> parser.add_argument('-p', type=int, nargs='*')
[...]
>>> group = parser.add_mutually_exclusive_group(required=True)
>>> group.add_argument('-r', action='store_true')
[...]
>>> group.add_argument('-w', action='store_true')
[...]
>>> group.add_argument('-c', action='store_true')
[...]
>>> parser.parse_args("-s 1 -p 0 1 2 3 -r".split())
Namespace(c=False, p=[0, 1, 2, 3], r=True, s=1, w=False)