python 命令行参数

import argparse # 导入模块
# psr = argparse.ArgumentParser()# 创建解析对象
# psr.add_argument()# 向该对象中添加使用到的命令行选项和参数
# args = psr.parse_args() # 解析命令行
# psr.print_help() # 打印帮助信息
nargs: 命令行参数的个数,一般用通配符表示: ?表示只用一个,*表示0到多个,+表示1到多个
default: 默认值
type: 参数的类型,默认是string类型,还可以是float、int和布尔等类型
choices: 输入值的范围
required: 默认为False,若为True则表示该参数必须输入
help: 使用的帮助提示信息
dest: 参数在程序中的对应的变量名称,如:add_argument("-a", dest="code_name"),在脚本中用parser.code_name来访问该命令行选项的值

parser = argparse.ArgumentParser()# 创建解析对象
# parser.add_argument("-s", type=int, required=True)  # 邀请出现
# parser.add_argument("-j", dest='描述', action='store_true')  # 不指定类型,默认是字符串,当有这个参数出现时,不需要获取
# parser.add_argument("nums", metavar='N', type=int, nargs='*')  # 帮助信息
# parser.add_argument("-k", action='append', type=int, nargs='*')  # ?可接受也可不接受 *0个或多个 +至少接收一个
# C:\Users\sht>python C:\Users\sht\venvnew\mysite_0605\app\api\test\test.py  -s 1 -j 2 3 -k 4 5 6
# Namespace(s=1, 描述=True, nums=[2, 3], k=[[4, 5, 6]])
# (venv) C:\document\mysite>python C:\Users\sht\venvnew\mysite_0605\app\api\test\test.py  -s 1 -j -k 4 5 6
# Namespace(s=1, 描述=True, nums=[], k=[[4, 5, 6]])

# parser.add_argument("-s", type=int, required=True)  # 邀请出现
# parser.add_argument("-j", dest='描述', action='store_true')  # 不指定类型,默认是字符串,当有这个参数出现时,不需要获取
# parser.add_argument("nums", metavar='N', type=int, nargs='*')  # 帮助信息
# parser.add_argument("-k", action='append', type=int)  # ?可接受也可不接受 *0个或多个 +至少接收一个
# (venv) C:\document\mysite>python C:\Users\sht\venvnew\mysite_0605\app\api\test\test.py  -s 1 -j -k 4 5 6
# Namespace(s=1, 描述=True, nums=[5, 6], k=[4])
# -k 只接受一个参数,剩余的分给 nargs的参数接受

parser.add_argument("-s", type=int, required=True)  # 邀请出现
parser.add_argument("-j", dest='描述', action='store_true')  # 不指定类型,默认是字符串,当有这个参数出现时,不需要获取
parser.add_argument("nums", metavar='N', type=int)  # 帮助信息
parser.add_argument("-k", action='append', type=int)  # ?可接受也可不接受 *0个或多个 +至少接收一个
# (venv) C:\document\mysite>python C:\Users\sht\venvnew\mysite_0605\app\api\test\test.py  -s 1 -j -k 4 5 6
# usage: test.py [-h] -s S [-j] [-k K] N
# test.py: error: unrecognized arguments: 6  因为都是只接受一个参数 参数6是多余的了,就报错了

args = parser.parse_args()
print(args)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值