argparse模块

import argparse
该模块用于command line交互,读取入参
常用用法:
parser = argparse.ArgumentParser(description='lightgbm model')
description程序简介,出现在help中
parser.add_argument('--max', help='参数1')
添加一个可选参数max
比如该程序保存为demo.py,打开命令行
python demo.py --max 100,值100就存储在max中
通过
args = parser.parse_args()
args.max获取
参数可以加很多别名
parse.add_argument('--max','--maximum',help='参数1')
这个时候存储下来的参数名是max
--前缀定义长参数,-前缀定义短参数
parse.add_argument('--max','-m','--maximum',help='参数1')
这个时候存储下来的参数名是max,规则是,如果没有指定dest,取第一个--作为参数名,否则取第一个-作为参数名
parse.add_argument('--max','--maximum',dest='max_prov',help='参数1')
dest可以指定存储的参数名
parse.add_argument('--max','--maximum',dest='max_prov',action='store',help='参数1')
action默认就是store,命令行接收到的值存到max_prov中
parse.add_argument('--max',dest='max_prov',action='store',type=int,help='参数1')
命令行默认接收到都是字符串,type可以指定类型int/float
add_argument一行是一个参数
add_argument还可以添加位置参数(必填参数)
parse.add_argument('max',help='必填参数')
命令行使用方式 python demo.py 100
--和-都是选填参数(option),不传的话是None

参考资料:
官方文档
官方教程

2021-12-01补充:
python脚本在命令行使用的时候,如果value是负数,比如
python demo.py --max -100,会报错,因为程序把-100认为是参数,一种简便的办法是在命令行写成python demo.py --max=-100,用等号连接key和value。

留言

熱門文章