我需要一些关于使用argparse的帮助。我想实现的是我只需要传入一个参数,它可以是以下之一:--k, --r, --b, --p,(ignore the rest)
。如果参数计数不是1,则输出“用法”信息并退出。此外,该程序需要知道哪个标志传入以创建相应的对象。我尝试了几次,但我不工作,任何人都可以给我一个提示吗?谢谢。需要帮助python命令行参数使用argparse
1
A
回答
4
你需要使用来实现这一目标什么是mutually exclusive group:
import argparse
parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument('-k', action='store_true')
group.add_argument('-r', action='store_true')
group.add_argument('-b', action='store_true')
group.add_argument('-p', action='store_true')
parser.parse_args()
因为它可以在下面的例子中可以看出,在一个互斥组只有一个选项,允许在同一时间:
$ 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_args
方法(标志p返回argparse.Namespace
对象将被设置为True
)。
+0
干得好!看起来我完全是在错误的轨道上,thx为样本! –
3
如何根本不使用?这似乎并不是必要的。
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
+0
这也没关系! –
相关问题
- 1. Java中,新手需要帮助使用命令行参数
- 2. COPY命令需要帮助
- 3. awk命令需要帮助
- 4. 需要帮助的简单的C命令行参数
- 5. 需要使用bash命令的python脚本帮助
- 6. 用argparse打印命令行参数?
- 7. 需要SSRS参数帮助
- 8. Python帮助命令
- 9. 需要帮助Python函数
- 10. 批量需要Dir命令帮助
- 11. P4打印命令的帮助需要
- 12. 需要帮助的tar命令
- 13. 需要vbscript“oShell.run”命令的帮助
- 14. 需要帮助理解bash命令
- 15. UNIX - 在grep命令需要帮助
- 16. 需要帮助的preg_match命令在PHP
- 17. Python - 需要帮助
- 18. 需要Python帮助
- 19. Python Argparse有条件需要的参数
- 20. Python令人困惑,需要帮助
- 21. Python argparse:可以被命名或位置的命令行参数
- 22. Python中使用argparse所需的命令行选项
- 23. 需要帮助比较命令行参数与字符串文字在Java
- 24. Python TKinter Threading帮助需要的帮助
- 25. 需要帮助编写和使用Python
- 26. 需要帮助anayzing使用python
- 27. 需要帮助继续使用python
- 28. Python argparse组合命令和命令参数
- 29. 需要帮助命名类
- 30. 需要tcl命令使用方面的帮助regsub
“我尝试了几次,但我不工作”:你能发表你试过的东西,并解释什么是行不通的吗? –