# argparse的作用就是为py文件封装好可以选择的参数,使他们更加灵活,丰富
# python自带的命令行参数解析包,可以将参数和代码分离 -h --help
import argparse
parser = argparse.ArgumentParser(description="demo of argparse") # 参数解析器
# '-n', '--name' 表示同一个参数, 同时出现时,参数名为后者
# dest 设置参数在代码中的变量名
# default 表示默认值
# type表示参数的类型,如果不指定参数类型,则默认是字符串
# help -h --help会显示帮助信息
# action='store_true' 如果指定了这个可选参数则赋值为True, 否则为False
parser.add_argument('-n', '--name', dest='name', default='Li', type=str, help='the name of the person')
parser.add_argument('-y', '--year', dest='year', default=20, type=int, help='the age of the person')
parser.add_argument('--cuda', dest='cuda', help='whether use CUDA', action='store_true')
args = parser.parse_args() # 获取解析的参数
print(args)
args.location='beijing' # 参数可以随时添加
print(args)
通常还可以定义一个函数,将上述内容封装在一个函数之内。
def parse_args():
parser = argparse.ArgumentParser(description='Train a network')
parser.add_argument('--dataset', dest='dataset', help='training dataset', default='pascal_voc', type=str)
args = parser.parse_args()
return args