Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用argparse在Python中获取命令行参数?_Python_Argparse - Fatal编程技术网

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

如何使用argparse在Python中获取命令行参数?,python,argparse,Python,Argparse,我希望能够在通过命令行传递选项后保存整数值。理想的情况是: python thing.py-s1-p01023-r/-w/-c -s-存储以下整数 -p-存储以下整数 最后一部分只能是三个选项之一(-r、-w或-c),具体取决于我需要做什么 我一直在阅读教程,但它们都使用了相同的两个示例,没有解释如何在-选项后存储整数。如果最后一部分正好是三个选项中的一个,您可能希望将其作为必需的位置参数,就像许多其他工具中的命令一样(例如installofapt get)。 >>> i

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

python thing.py-s1-p01023-r/-w/-c
  • -s
    -存储以下整数

  • -p
    -存储以下整数

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


我一直在阅读教程,但它们都使用了相同的两个示例,没有解释如何在
-选项

后存储整数。如果最后一部分正好是三个选项中的一个,您可能希望将其作为必需的位置参数,就像许多其他工具中的命令一样(例如
install
of
apt get
)。
>>> 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)