argparse模块

基础

demo.py文件

import argparse

parser = argparse.ArgumentParser(description='命令行中传入一个姓名')
#type是要传入的参数的数据类型  help是该参数的提示信息
parser.add_argument('name', type=str, help='姓名')
args = parser.parse_args()
#获得传入的参数
print(args)
#print(args.name)

命令行:

python demo.py -h  #提示信息
python demo.py helena #Namespace(name='helana')

进阶

#传入多个参数
parser.add_argument('integers', type=str, nargs='+',help='传入的数字')
#改变数据类型
type=list, str, tuple, set, dict
#可选参数
parser.add_argument('--family', type=str,help='姓')
print(args.family)
命令台:python demo.py --family Zhang
注:'-'也可以,'-''--'同时出现,如'-h','--help'
#默认值
parser.add_argument('--family', type=str, default='张',help='姓')
#必需参数
required=True
#子命令
subparsers = parser.add_subparsers(help='sub-command help')

创建子命令

demo.py文件

#添加子命令 add
parser_a = subparsers.add_parser('add', help='add help')
parser_a.add_argument('-x', type=int, help='x value')
parser_a.add_argument('-y', type=int, help='y value')
#添加子命令 sub
parser_s = subparsers.add_parser('sub', help='sub help')
parser_s.add_argument('-x', type=int, help='x value')
parser_s.add_argument('-y', type=int, help='y value')
args = parser.parse_args()
print('x', args.x, 'y', args.y)

命令行

demo.py add -x 1 -y 2 #输出:x 1 y 2

add_argument() 方法

name or flags - 一个命名或者一个选项字符串的列表,例如 foo 或 -f, --foo。
action - 当参数在命令行中出现时使用的动作基本类型。
nargs - 命令行参数应当消耗的数目。
const - 被一些 action 和 nargs 选择所需求的常数。
default - 当参数未在命令行中出现并且也不存在于命名空间对象时所产生的值。
type - 命令行参数应当被转换成的类型。
choices - 可用的参数的容器。
required - 此命令行选项是否可省略 (仅选项可用)。
help - 一个此选项作用的简单描述。

const

add_argument() 的const 参数用于保存不从命令行中读取但被各种动作需求的常数值。
例子: 当 add_argument() 通过选项(例如 -f 或 --foo)调用并且 nargs=’?’ 时。这会创建一个可以跟随零个或一个命令行参数的选项。当解析命令行时,如果选项后没有参数,则将用 const 代替。

argparse模块用法实例详解
Python 关于argparse子命令subparsers()方法
argparse基本用法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值