前言
最近一直在看深度学习中对网络的改进方法,也在gtihub上白嫖了很多开源的项目,这些代码里面大多使用了argparse模块,第一次看的时候给我搞得一头雾水,所以今天我准备好好研究一下这个模块
一、argparse模块是什么?
官方文档:
https://docs.python.org/zh-cn/3/howto/argparse.html
学习之前我们首先需要弄明白这个模块的一些基础定义:
我们点击python里面的argparse模块,能看到一些官方解释
我英语不不好,翻译一下就是:
它下面写了一个例子:
同时综合网上各位大神的博客,这个模块干的事情不外乎下面几个:
1.创建解析器对象—— ArgumentParser()
2.添加解析器参数——add_argument()
3.解析参数——parse_args()
二、实操例子
1.只传一个参数
代码如下(示例):
import argparse
#-----------------------------------1.最普通的使用方式----------------------------------------#
parser = argparse.ArgumentParser(description='实验1:使用命令行传入自己的名字') #创建解析器对象
parser.add_argument("name", help="输入的名字", type=str) #添加参数
args = parser.parse_args() #解析参数
print(args.name) #后续操作
print("我从命令行中传入的姓名是{}".format(args.name)) #后续操作
如果你直接运行的话:
在命令行输入: python example.py
(python放在前面是启动这个py文件的意思)
在命令行输入: python example.py -h 可以查看帮助:
positional arguments:位置参数(命令行输入参数时,严格按照位置输入)
如果要正确的从命令行向里面输入文字: python example.py wenhua
2.传入多个参数
代码如下(示例):
#-----------------------------------2.多添加几个----------------------------------------#
parser = argparse.ArgumentParser(description='实验1:使用命令行传入自己的名字') #创建解析器对象
parser.add_argument("name", help="输入的名字", type=str) #添加参数
parser.add_argument("age", help="输入的年龄", type=int) #添加参数
parser.add_argument("high", help="输入的身高", type=float) #添加参数
args = parser.parse_args() #解析参数
print(args.name) #后续操作
print(args.age) #后续操作
print(args.high) #后续操作
命令行输入:
python example.py wenhua 18 176.9