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实现堆栈与队列的方法
Jan 15 Python
python实现的简单RPG游戏流程实例
Jun 28 Python
python Django框架实现自定义表单提交
Mar 25 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
Jul 01 Python
Django后台获取前端post上传的文件方法
May 28 Python
解决python中画图时x,y轴名称出现中文乱码的问题
Jan 29 Python
Python数据报表之Excel操作模块用法分析
Mar 11 Python
50行Python代码获取高考志愿信息的实现方法
Jul 23 Python
python 实现二维字典的键值合并等函数
Dec 06 Python
Python调用Windows API函数编写录音机和音乐播放器功能
Jan 05 Python
Python3列表List入门知识附实例
Feb 09 Python
Python更新所有已安装包的操作
Feb 13 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导入Excel到MySQL的方法
2011/04/23 PHP
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
php 如何获取数组第一个值
2013/08/06 PHP
php中Y2K38的漏洞解决方法实例分析
2014/09/22 PHP
Yii2 批量插入、更新数据实例
2017/03/15 PHP
PHP错误处理函数register_shutdown_function使用示例
2017/07/03 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
php接口隔离原则实例分析
2019/11/11 PHP
Jquery+ajax请求data显示在GridView上(asp.net)
2010/08/27 Javascript
jquery获取对象的方法足以应付常见的各种类型的对象
2014/05/14 Javascript
jquery 实现两Select 标签项互调示例代码
2014/09/25 Javascript
jQuery实现菜单式图片滑动切换
2015/03/14 Javascript
javascript带回调函数的异步脚本载入方法实例分析
2015/07/02 Javascript
js+css实现上下翻页相册代码分享
2015/08/18 Javascript
jquery实现加载进度条提示效果
2015/11/23 Javascript
jQuery实现移动端滑块拖动选择数字效果
2015/12/24 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
2016/07/22 Javascript
简化vuex的状态管理方案的方法
2018/06/02 Javascript
解决layui使用layui-icon出现默认图标的问题
2019/09/11 Javascript
vue 输入电话号码自动按3-4-4分割功能的实现代码
2020/04/30 Javascript
Python json模块使用实例
2015/04/11 Python
使用Python编写提取日志中的中文的脚本的方法
2015/04/30 Python
python实现用于测试网站访问速率的方法
2015/05/26 Python
Python抓取框架Scrapy爬虫入门:页面提取
2017/12/01 Python
Python操作配置文件ini的三种方法讲解
2019/02/22 Python
对django中foreignkey的简单使用详解
2019/07/28 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
pytorch 求网络模型参数实例
2019/12/30 Python
Craghoppers德国官网:户外和旅行服装
2020/02/14 全球购物
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
2014/09/09 面试题
幼儿教育感言
2014/02/05 职场文书
低碳环保倡议书
2014/04/14 职场文书
行政司机岗位职责
2015/04/10 职场文书
2019运动会广播加油稿汇总
2019/08/21 职场文书
JavaWeb 入门篇:创建Web项目,Idea配置tomcat
2021/07/16 Java/Android