参考资料
argparseg官方文档:python3
argparseg官方文档:python3-中文
子命令 subparsers()
功能比较多的命令端程序常常将功能分解到不同子命令中,如在Python中常见的pip install、pip uninstall等。当程序比较复杂且不同功能都需要不同参数时,子命令是一个不错的方式。
1 | import argparse |
运行命令
1 | $python subc.py add -x 1 -y 2 |
参数分组
有时候,我们需要给参数分组,以使得在显示帮助信息时能够显示到一起。但是和子命令不同的是,不同的组会在同时被使用。
比如某命令行支持三个参数选项 –user、–password和–push,前两者需要放在一个名为 authentication 的分组中以表示它们是身份认证信息。那么我们可以用 ArgumentParser.add_argument_group 来满足:
1 | group = parser.add_argument_group('authentication') |
add_argument() 方法
ArgumentParser.add_argument(name or flags…[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])
定义单个的命令行参数应当如何解析。每个形参都在下面有它自己更多的描述,长话短说有:
1 | name or flags - 一个命名或者一个选项字符串的列表,例如 foo 或 -f, --foo。 |
ArgumentParser 对象
1 | prog - The name of the program (default: os.path.basename(sys.argv[0])) |