需要使用argparse获取python命令行参数的帮助吗

需要使用argparse获取python命令行参数的帮助吗,python,argparse,Python,Argparse,我需要一些关于使用argparse的帮助。我想要实现的是,我只需要传入一个参数,它可以是以下参数之一:-k,--r,--b,--p,(忽略其余参数)。如果参数计数不是1,则打印“用法”信息并退出。程序还需要知道传入了哪个标志,以便创建相应的对象。我试了好几次,但都没用,有人能给我一个提示吗?谢谢。完全不用argparse怎么样?这似乎真的没有必要 if len(sys.argv) != 2: print_usage() arg = sys.argv[1] if arg not in ["

我需要一些关于使用argparse的帮助。我想要实现的是,我只需要传入一个参数,它可以是以下参数之一:
-k,--r,--b,--p,(忽略其余参数)
。如果参数计数不是1,则打印“用法”信息并退出。程序还需要知道传入了哪个标志,以便创建相应的对象。我试了好几次,但都没用,有人能给我一个提示吗?谢谢。

完全不用
argparse
怎么样?这似乎真的没有必要

if len(sys.argv) != 2:
    print_usage()
arg = sys.argv[1]
if arg not in ["--k", "--r", "--b", "--p"]:
    print_usage()
# Do whatever you want with arg

不使用
argparse
怎么样?这似乎真的没有必要

if len(sys.argv) != 2:
    print_usage()
arg = sys.argv[1]
if arg not in ["--k", "--r", "--b", "--p"]:
    print_usage()
# Do whatever you want with arg

要实现这一目标,您需要:

从下面的示例中可以看出,在一个互斥组中,同时只允许一个选项:

$ python test.py -k -r -b -p
usage: test.py [-h] [-k | -r | -b | -p]
test.py: error: argument -r: not allowed with argument -k

要检查传递了哪个标志,只需查看
parse\u args
方法返回的
argparse.Namespace
对象(传递的标志将设置为
True
)。

要实现这一点,您需要使用的是:

从下面的示例中可以看出,在一个互斥组中,同时只允许一个选项:

$ python test.py -k -r -b -p
usage: test.py [-h] [-k | -r | -b | -p]
test.py: error: argument -r: not allowed with argument -k

要检查传递了哪个标志,只需查看
parse\u args
方法返回的
argparse.Namespace
对象(传递的标志将设置为
True
)。

“我尝试了好几次,但都不起作用”:你能发布你尝试的内容并解释到底什么不起作用吗?“我试了好几次,但都不管用”:你能把你试过的贴出来,解释一下到底什么不管用吗?干得好!我似乎完全走错了方向,样本用thx!干得好!我似乎完全走错了方向,样本用thx!