agrparse包:用来解析命令行中的参数
使用:
1. 导入argparse包
import argparse
2. 创建参数解析器
# 创建参数解析器
parser = argparse.ArgumentParser()
3. 添加参数
# 添加参数
parser.add_argument("--epoch", type=int, help="这里写参数的用途,方面阅读,同时可以告诉读者文件怎么用")
parser.add_argument("--batch_size", type=int, help="这里写参数的用途,方面阅读,同时可以告诉读者文件怎么用")
4. 解析命令行中的参数
# 解析命令行中的参数
args = parser.parse_args()
举例:
命令行输入:
print(args)的输出:Namespace(epoch=100, batch_size=50)
具体获得某一个参数:args.epoch -> 获得参数epoch的值
注意:如果不知道程序怎么跑,就python 测试argparse.py --help
补充1:
参数有一下几种:
第一种是optional argument 用--进行标识,如上面的--epoch,默认是可选的,可以不用填写。
第二种是positional argument 参数前没有--,默认是不可选,必须填写,否则报错。
# 添加参数
parser.add_argument("--epoch", type=int, help="这里写参数的用途,方便阅读") # optional argument
parser.add_argument("--batch_size", type=int, help="这里写参数的用途,方便阅读") # optional argument
parser.add_argument("method", type=str, help="这里写参数的用途,方便阅读") # positional argument
第三种是action argument,它相当于一个开关,传入这个参数就进行一种操作,否则就不进行。
例如:
添加一个参数,是否需要打印信息。--verbose 表示打印详细信息。
parser.add_argument("--verbose", action="store_true", help="Print Message") # action argument
如果在命令行中加入 --verbose, 那么verbose的值就是True,否则就为False。