python 参数设置argparse.argumentParser+报错train.py: error: the following arguments are required: --XXXX

本文介绍了Python的argparse模块使用方法,包括如何添加参数、处理缺失参数和类型错误,以及查看帮助文档。示例中展示了如何修复required与default属性冲突的问题,以及将位置参数改为关键字参数。同时,讲解了argparse如何自动生成错误提示,帮助用户解决命令行参数问题。

部分1:报错解决方案

一:可能缺少参数,

二:属性问题(设置了default还设置了required):

按照以下方法更改属性:

parser.add_argument('--model', default='ResNet18',required=True)
args = parser.parse_args()

改为:

parser.add_argument('--model', default='ResNet18')
args = parser.parse_args()

三:参数类型问题

parser.add_argument('url', default='https://****',help='URL')

不用位置参数的方法,改用:

parser.add_argument('--url', default='https://****',help='URL')

部分2:argparse.argumentParser()用法解析

Python3.7 - Argparse模块:进行参数管理,能够自动生成帮助文档,输入错误进行提示。

import argparse

# (1) 声明
parser = argparse.ArgumentParser()

# (2) 添加参数
parser.add_argument("参数名",属性)
parser.add_argument("--A", help="我是A",type=int)
parser.add_argument("--num",type=int,help="输入数字",default=1) # 通过 --digit xxx 声明的参数,为int类型

# (3) 打包参数为对象args
args = parser.parse_args()

# (4) 在程序中调用参数
print(args.parg)
print("echo ={0}".format(args.A)) 
print("name = {}".format(args.num))  

python test.py -h # 查看参数帮助
python test.py --A 100 --num 200 # 参数赋值

注:sys.argv()模块也能起同样的作用

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值