在训练神经网络时候,为了方便设定超参数,经常调用argparse模块的相关内容,写下这篇文章和大家一起学习python的argparse模块
(使用环境操作系统 windows10)
官方教程:https://docs.python.org/zh-cn/3/howto/argparse.html
运行下面代码:
import argparse
parser = argparse.ArgumentParser()
parser.parse_args()
运行结果如下:
G:\PTA>python test.py
G:\PTA>python test.py --help
usage: test.py [-h]
optional arguments:
-h, --help show this help message and exit
运行下面代码:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("echo")
args = parser.parse_args()
print(args.echo)
运行结果如下:
G:\PTA>python test.py -h echo
usage: test.py [-h] echo
positional arguments:
echo
optional arguments:
-h, --help show this help message and exit
G:\PTA>python test.py -h
usage: test.py [-h] echo
positional arguments:
echo
optional arguments:
-h, --help show this help message and exit
G:\PTA>python test.py foo
foo
增加了 add_argument() 方法,该方法用于指定程序能够接受哪些命令行选项。
运行下面代码:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("square", help="display a square of a given number",
type=int)
args = parser.parse_args()
print(args.square**2)
运行结果如下:
G:\PTA>python test.py square #第一次运行
usage: test.py [-h] square
test.py: error: argument square: invalid int value: 'square'
G:\PTA>python test.py -h #第二次运行
usage: test.py [-h] square
positional arguments:
square display a square of a given number
optional arguments:
-h, --help show this help message and exit
G:\PTA>python test.py 4 第三次运行
16
第一次运行:输入错误,提示错误原因
第二次运行:帮助
第三次运行:根据输入字符打印结果
运行下面代码:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-v", "--verbose", help="increase output verbosity",
action="store_true")
args = parser.parse_args()
if args.verbose:
print("verbosity turned on")
运行结果如下:
G:\PTA>python test.py -v
verbosity turned on
G:\PTA>python test.py --help
usage: test.py [-h] [-v]
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase output verbosity
运行下面代码:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("square", type=int,
help="display a square of a given number")
parser.add_argument("-v", "--verbose", action="store_true",
help="increase output verbosity")
args = parser.parse_args()
answer = args.square**2
if args.verbose:
print("the square of {} equals {}".format(args.square, answer))
else:
print(answer)
运行结果如下:
G:\PTA>python test.py 5
25
G:\PTA>python test.py -v
usage: test.py [-h] [-v] square
test.py: error: the following arguments are required: square
G:\PTA>python test.py -v 5
the square of 5 equals 25
介绍了argparse的入门基础。