代码中有:
parser.add_argument('-crop_size', help='Set the crop_size', default=[128, 128], nargs='+', type=int)
在命令行运行时,输入两个数字,以空格隔开就好
sh xxx.sh -crop_size 128 128
nargs其他参数:(参考python入门:argparse浅析 nargs='+'作用)
nargs:ArgumentParser对象通常将一个动作与一个命令行参数关联。nargs关键字参数将一个动作与不同数目的命令行参数关联在一起:
nargs=N,一个选项后可以跟多个参数(action='append'时,依然是一个选项后跟一个参数,只不过选项可以多次出现),参数的个数必须为N的值,这些参数会生成一个列表,当nargs=1时,会生成一个长度为1的列表。
nargs=?,如果没有在命令行中出现对应的项,则给对应的项赋值为default。特殊的是,对于可选项,如果命令行中出现了此可选项,但是之后没有跟随赋值参数,则此时给此可选项并不是赋值default的值,而是赋值const的值。
nargs=*,和N类似,但是没有规定列表长度。
nargs=+,和*类似,但是给对应的项当没有传入参数时,会报错error: too few arguments。
nargs=argparse.REMAINDER,所有剩余的参数,均转化为一个列表赋值给此项,通常用此方法来将剩余的参数传入另一个parser进行解析。如果nargs没有定义,则可传入参数的数量由action决定,通常情况下为一个,并且不会生成长度为一的列表。