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中的with...as用法介绍
May 28 Python
Python如何通过subprocess调用adb命令详解
Aug 27 Python
利用Hyperic调用Python实现进程守护
Jan 02 Python
python实现将文件夹内的每张图片批量分割成多张
Jul 22 Python
Python Django Vue 项目创建过程详解
Jul 29 Python
python提取xml里面的链接源码详解
Oct 15 Python
pygame实现贪吃蛇游戏(上)
Oct 29 Python
Scrapy框架实现的登录网站操作示例
Feb 06 Python
Django框架静态文件处理、中间件、上传文件操作实例详解
Feb 29 Python
使用PyQt5实现图片查看器的示例代码
Apr 21 Python
python框架flask入门之环境搭建及开启调试
Jun 07 Python
python 将html转换为pdf的几种方法
Dec 29 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
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
2018/10/15 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
基于jquery实现的上传图片及图片大小验证、图片预览效果代码
2011/04/12 Javascript
JavaScript判断一个URL链接是否有效的实现方法
2011/10/08 Javascript
Jquery submit()无法提交问题
2013/04/21 Javascript
jquery统计输入文字的个数并对其进行判断
2014/01/07 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
JS中call/apply、arguments、undefined/null方法详解
2016/02/15 Javascript
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
2016/12/26 Javascript
JavaScript设计模式之代理模式详解
2017/06/09 Javascript
BootStrap Select清除选中的状态恢复默认状态
2017/06/20 Javascript
jQuery实现火车票买票城市选择切换功能
2017/09/15 jQuery
nodejs实现OAuth2.0授权服务认证
2017/12/27 NodeJs
Vue 路由 过渡动效 数据获取方法
2018/07/31 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
2018/11/25 Javascript
100行代码实现vue表单校验功能(小白自编)
2019/11/19 Javascript
记录微信小程序 height: calc(xx - xx);无效问题
2019/12/30 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
2020/05/28 Javascript
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
2020/07/15 Javascript
python3+PyQt5+Qt Designer实现堆叠窗口部件
2018/04/20 Python
python使用turtle库绘制时钟
2020/03/25 Python
opencv-python的RGB与BGR互转方式
2020/06/02 Python
pip/anaconda修改镜像源,加快python模块安装速度的操作
2021/03/04 Python
css3弹性盒模型实例介绍
2013/05/27 HTML / CSS
用css3实现当鼠标移进去时当前亮其他变灰效果
2014/04/08 HTML / CSS
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
如何唤起类中的一个方法
2013/11/29 面试题
安全责任书范文
2014/08/25 职场文书
高中运动会广播稿
2014/09/16 职场文书
党的群众路线教育实践活动批评与自我批评发言稿
2014/10/16 职场文书
教师学期末个人总结
2015/02/13 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书
浅析NIO系列之TCP
2021/06/15 Java/Android
Python实现双向链表
2022/05/25 Python