python 的命令行参数使用ArgumentParser
argparse是一个python模块,用途是:命令行执行选项、参数和子命令的解释
import argparse
#创建解释器
parser = argparse.ArgumentParser()
#添加参数
parser.add_argument('-g', '--good', choices=['yuwen', 'shuxue'])
# '-g' 代表短选项,在命令行输入-g 和-good效果一样,作用是简化参数输入
#choices 代表输入的参数只能是choice里面的内容,其他内容会报错
parser.add_argument('--house', type=int, default=100)
#--house 代表参数名称
#type 代表参数类型
# default代表该参数不输入,则会使用默认值
parser.add_argument('food')
#该种方式则要求必须输入该参数
#输入该参数不需要指定参数名称,指定反而报错,解释器自动将值赋给food
#参数解析
args = parser.parse_args()
print(args, type(args))
print(args.good)
cmd执行 : python demo.py tomato
自动给值赋给food
good没有赋值,为None
house没有赋值,使用默认值100
cmd执行: python .\demo.py -g yuwen tomato
good赋值 yuwen
food赋值tomato
简写不能用-h, 会报错,这个内置了
`vars()` 是一个内置函数,用于返回对象的属性和值的字典。它可以接受一个对象作为参数,并返回该对象的属性和对应的值组成的字典。
可以通过该函数处理args对象