如何使用argparse在Python中获取命令行参数?

时间:2011-06-10 16:45:33

标签: python argparse

我希望能够在通过命令行传递选项后保存整数值。理想情况下会是:

python thing.py -s 1 -p 0 1 2 3 -r/-w/-c
  • -s - 存储以下整数

  • -p - 存储以下整数

最后一部分只能是三个选项中的一个( -r -w -c ),具体取决于这是我需要做的。

我一直在尝试阅读教程,但他们都使用相同的两个示例,但没有解释如何在-option之后存储整数。

1 个答案:

答案 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)