python add_argument()用法解析


Posted in Python onJanuary 29, 2020

这篇文章主要介绍了python add_argument()用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

介绍:

argparse

argparse 是 Python 内置的一个用于命令项选项与参数解析的模块,通过在程序中定义好我们需要的参数,argparse 将会从 sys.argv 中解析出这些参数,并自动生成帮助和使用信息。当然,Python 也有第三方的库可用于命令行解析,而且功能也更加强大,比如 docopt,Click。

argparse 使用

简单示例

我们先来看一个简单示例。主要有三个步骤:

  • 创建 ArgumentParser() 对象
  • 调用 add_argument() 方法添加参数
  • 使用 parse_args() 解析添加的参数

现在我们来简单的测试一下:

import argparse
 
parser = argparse.ArgumentParser()
parser.add_argument('--sparse', action='store_true', default=False, help='GAT with sparse version or not.')
parser.add_argument('--seed', type=int, default=72, help='Random seed.')
parser.add_argument('--epochs', type=int, default=10000, help='Number of epochs to train.')
 
args = parser.parse_args()
 
print(args.sparse)
print(args.seed)
print(args.epochs)

打印内容如下:

/home/user/anaconda3/bin/python3.6 /home/user/lly/pyGAT-master/test.py
False
72
10000
 
Process finished with exit code 0

举例:

parser = argparse.ArgumentParser()
parser.add_argument('--sparse', action='store_true', help='GAT with sparse version or not.')
parser.add_argument('--seed', type=int, default=72, help='Random seed.')
parser.add_argument('--epochs', type=int, default=10000, help='Number of epochs to train.')
 
args = parser.parse_args()
 
print(args.sparse)
print(args.seed)
print(args.epochs)

打印如下:

False
72
10000

举例

import argparse
 
parser = argparse.ArgumentParser()
parser.add_argument('--sparse', action='store_true', default=True, help='GAT with sparse version or not.')
parser.add_argument('--seed', type=int, default=72, help='Random seed.')
parser.add_argument('--epochs', type=int, default=10000, help='Number of epochs to train.')
 
args = parser.parse_args()
 
print(args.sparse)
print(args.seed)
print(args.epochs)

打印如下:

True
72
10000

先奉上add_argument() 方法定义如何解析命令行参数:

ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])

每个参数解释如下:

  • name or flags - 选项字符串的名字或者列表,例如 foo 或者 -f, --foo。
  • action - 命令行遇到参数时的动作,默认值是 store。
  • store_const,表示赋值为const;
  • append,将遇到的值存储成列表,也就是如果参数重复则会保存多个值;
  • append_const,将参数规范中定义的一个值保存到一个列表;
  • count,存储遇到的次数;此外,也可以继承 argparse.Action 自定义参数解析;
  • nargs - 应该读取的命令行参数个数,可以是具体的数字,或者是?号,当不指定值时对于 Positional argument 使用 default,对于 Optional argument 使用 const;或者是 * 号,表示 0 或多个参数;或者是 + 号表示 1 或多个参数。
  • const - action 和 nargs 所需要的常量值。
  • default - 不指定参数时的默认值。
  • type - 命令行参数应该被转换成的类型。
  • choices - 参数可允许的值的一个容器。
  • required - 可选参数是否可以省略 (仅针对可选参数)。
  • help - 参数的帮助信息,当指定为 argparse.SUPPRESS 时表示不显示该参数的帮助信息.
  • metavar - 在 usage 说明中的参数名称,对于必选参数默认就是参数名称,对于可选参数默认是全大写的参数名称.
  • dest - 解析后的参数名称,默认情况下,对于可选参数选取最长的名称,中划线转换为下划线.

然后对应程序中的内容:action - 命令行遇到参数时的动作,默认值是 store。所以sparse返回的是 Ture,

以下同理:args.seed返回的是72,数据类型是int

args.epochs返回的是10000,数据类型是int

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的ORM框架SQLAlchemy入门教程
Apr 28 Python
wxPython之解决闪烁的问题
Jan 15 Python
Python3实现的Mysql数据库操作封装类
Jun 06 Python
python中的常量和变量代码详解
Jul 25 Python
Django model update的多种用法介绍
Mar 28 Python
python 字典的打印实现
Sep 26 Python
关于Flask项目无法使用公网IP访问的解决方式
Nov 19 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
Apr 07 Python
基于python实现操作git过程代码解析
Jul 27 Python
利用python绘制正态分布曲线
Jan 04 Python
python 利用 PIL 将数组值转成图片的实现
Apr 12 Python
python中的sys模块和os模块
Mar 20 Python
python使用ctypes调用扩展模块的实例方法
Jan 28 #Python
Python 时间戳之获取整点凌晨时间戳的操作方法
Jan 28 #Python
使用Python制作新型冠状病毒实时疫情图
Jan 28 #Python
代码总结Python2 和 Python3 字符串的区别
Jan 28 #Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
Jan 25 #Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
Jan 25 #Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
Jan 25 #Python
You might like
PHP中通过加号合并数组的一个简单方法分享
2011/01/27 PHP
解析如何屏蔽php中的phpinfo()函数
2013/06/06 PHP
利用PHP生成静态html页面的原理
2016/09/30 PHP
PHP中关键字interface和implements详解
2017/06/14 PHP
js下用层来实现select的title提示属性
2010/02/23 Javascript
JS按字节截取字符长度实例
2013/11/20 Javascript
JavaScript设计模式之建造者模式介绍
2014/12/28 Javascript
JavaScript中的闭包(Closure)详细介绍
2014/12/30 Javascript
javascript获取网页各种高宽及位置的方法总结
2016/07/27 Javascript
AngularJS表单验证中级篇(3)
2016/09/28 Javascript
JS创建对象的写法示例
2016/11/04 Javascript
bootstarp modal框居中显示的实现代码
2017/02/18 Javascript
Omi v1.0.2发布正式支持传递javascript表达式
2017/03/21 Javascript
使用vue-cli+webpack搭建vue开发环境的方法
2017/12/22 Javascript
jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)
2019/11/07 jQuery
JavaScript 装逼指南(js另类写法)
2020/05/10 Javascript
jQuery AJAX应用实例总结
2020/05/19 jQuery
python轻松实现代码编码格式转换
2015/03/26 Python
python虚拟环境virtualenv的使用教程
2017/10/20 Python
Python3 伪装浏览器的方法示例
2017/11/23 Python
Python基于列表list实现的CRUD操作功能示例
2018/01/05 Python
Python numpy实现二维数组和一维数组拼接的方法
2018/06/05 Python
python实现比较文件内容异同
2018/06/22 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
2019/06/21 Python
使用css创建三角形 使用CSS3创建3d四面体原理及代码(html5实践)
2013/01/06 HTML / CSS
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
优秀应届生推荐信
2013/11/09 职场文书
石油大学毕业生自荐信
2014/01/28 职场文书
软件部经理岗位职责范本
2014/02/25 职场文书
认购协议书范本
2014/04/22 职场文书
中国梦演讲稿3分钟
2014/08/19 职场文书
酒店保洁员岗位职责
2015/02/26 职场文书
2016国培研修心得体会
2016/01/08 职场文书
详解使用 CSS prefers-* 规范提升网站的可访问性与健壮性
2021/05/25 HTML / CSS
python周期任务调度工具Schedule使用详解
2021/11/23 Python
一文搞清楚MySQL count(*)、count(1)、count(col)区别
2022/03/03 MySQL