可选参数
带 - 或者 -- 的参数都是可选参数,如果命令行不输入,得到的结果是 None
参数名只能使用下划线,不能使用中划线
default: 设置默认值
action: 默认是 store 方法,常用的是 store_true 命令行出现了这个参数就让它等于 True,否则为 False
nargs='+': 可以接受一个或多个值,并将这些值作为一个列表传递给程序
import argparse
parser = argparse.ArgumentParser(description="可以写参数描述")
parser.add_argument('-i', '--input_file', default='默认', help = '帮助信息')
parser.add_argument('-i1', '--input', help = '帮助信息')
parser.add_argument('-t', '--test', action='store_true')
parser.add_argument('-t1', '--test1', default=False, action='store_true')
# -d 或 --day 后面可以不跟数值,使用时用build,而不能用day,有-d时为True,没有时为False, default 和 action 可以分开使用
parser.add_argument('-d', '--day', dest='build', default=False, action='store_true')
# 解析参数
args = parser.parse_args()
# 注意!! 不论之前函数里写的是 input-file还是input_file,在使用时只能用input_file(下划线)
print(args)
print('input : ', args.input_file)
print('day : ', args.build)
必需参数
必需参数是在命令行中必须提供的参数,没有--的是必需参数,它们的位置是固定的,通常用于传递核心数据或操作对象。
parser.add_argument('input_file', type=str, help='输入文件名')
在命令行中使用时,必需参数需要放在命令之后,例如:python script.py data.txt
通过设置required=True
,可以将一个可选参数标记为必需参数。
parser.add_argument('--username', required=True, help='用户名是必需的')