store:默认action模式,存储值到指定变量。 store_const:存储值在参数的const部分指定,多用于实现非布尔的命令行flag。 store_true / store_false:布尔开关。 store_true.默认为False,输入则为true。 store_flase 相反 append:存储值到列表,该参数可以重复使用。 append_const:存储值到列表,存储值在参数的const部分指定。 count: 统计参数简写输入的个数 add_argument("-c", "--gc", action="count") version 输出版本信息然后退出。 const:配合action="store_const|append_const"使用,默认值 choices:输入值的范围 add_argument("--gb", choices=['A', 'B', 'C', 0]) required : 默认False, 若为 True, 表示必须输入该参数================================================================================== KeyWord Arguments: - option_strings -- A list of command-line option strings which should be associated with this action. - dest -- The name of the attribute to hold the created object(s) - nargs -- The number of command-line arguments that should be consumed. By default, one argument will be consumed and a single value will be produced. Other values include:- N (an integer) consumes N arguments (and produces a list) - '?' consumes zero or one arguments - '*' consumes zero or more arguments (and produces a list) - '+' consumes one or more arguments (and produces a list) Note that the difference between the default and nargs=1 is that with the default, a single value will be produced, while with nargs=1, a list containing a single value will be produced. - const -- The value to be produced if the option is specified and the option uses an action that takes no values. - default -- The value to be produced if the option is not specified. - type -- A callable that accepts a single string argument, and returns the converted value. The standard Python types str, int, float, and complex are useful examples of such callables. If None, str is used. - choices -- A container of values that should be allowed. If not None, after a command-line argument has been converted to the appropriate type, an exception will be raised if it is not a member of this collection. - required -- True if the action must always be specified at the command line. This is only meaningful for optional command-line arguments. - help -- The help string describing the argument. - metavar -- The name to be used for the option's argument with the help string. If None, the 'dest' value will be used as the name.创建子parse,每个子parse对应自己的输入参数import argparse# sub-command functionsdef subcmd_list(args): print "list"def subcmd_create(args): print "create"def subcmd_delete(args): print "delete"parser = argparse.ArgumentParser()subparsers = parser.add_subparsers(help='commands')# A list commandlist_parser = subparsers.add_parser('list', help='Listcontents')list_parser.add_argument('dirname', action='store', help='Directory tolist')list_parse.set_defaults(func=subcmd_list)# A create commandcreate_parser = subparsers.add_parser('create', help='Create a directory')create_parser.add_argument('dirname',action='store',help='New directoryto create')create_parser.add_argument('--read-only',default=False, action='store_true',help='Setpermissions to prevent writing to the directory')create_parser .set_defaults(func=subcmd_create)# A delete commanddelete_parser = subparsers.add_parser('delete',help='Remove a directory')delete_parser.add_argument( 'dirname', action='store',help='The directory to remove')delete_parser.add_argument('--recursive', '-r',default=False, action='store_true',help='Remove thecontents of the directory, too')delete_parser .set_defaults(func=subcmd_delete)args = parser.parse_args()# call subcmdargs.fun(args)使用帮助# python args_subparse.py -husage: args_subparse.py [-h] {create,list,delete} ...positional arguments: {create,list,delete} commands list Listcontents create Create a directory delete Remove a directoryoptional arguments: -h, --help show this help message and exit # python args_subparse.py create -husage: args_subparse.py create [-h] [--read-only] dirnamepositional arguments: dirname New directoryto createoptional arguments: -h, --help show this help message and exit --read-only Setpermissions to prevent writing to the directory # python args_subparse.py delete -husage: args_subparse.py delete [-h] [--recursive] dirnamepositional arguments: dirname The directory to removeoptional arguments: -h, --help show this help message and exit --recursive, -r Remove thecontents of the directory, too # python args_subparse.py list -husage: args_subparse.py list [-h] dirnamepositional arguments: dirname Directory tolistoptional arguments: -h, --help show this help message and exit多个subparser 使用同样定义的参数# add_help=False,必须指定,否则报-h重复定义parents_parser = argparse.ArgumentParser(add_help=False)parents_parser.add_argument('--foo', dest="foo", action='store_true')parents_parser.add_argument('--bar', dest="bar", action='store_false')parents_parser.add_argument('--baz', dest="baz", action='store_false')parser = argparse.ArgumentParser()subparsers = parser.add_subparsers(help='commands')m_parser = subparsers.add_parser("MySQL", parents=[parents_parser], help="mysql method")m_parser.set_defaults(func=sub_mysql)o_parser = subparsers.add_parser("Oracle", parents=[parents_parser], help="oracle method")o_parser.set_defaults(func=sub_oracle)args = parser.parse_args()参考http://blog.csdn.net/songuooo/article/details/8373086http://www.2cto.com/kf/201208/149418.htmlhttp://stackoverflow.com/questions/7498595/python-argparse-add-argument-to-multiple-subparsers
新闻热点
疑难解答