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中的序列化与反序列化的使用
Jun 30 Python
Python实现获取本地及远程图片大小的方法示例
Jul 21 Python
Python拼接微信好友头像大图的实现方法
Aug 01 Python
Pycharm设置utf-8自动显示方法
Jan 17 Python
Python完成毫秒级抢淘宝大单功能
Jun 06 Python
PyQt QCombobox设置行高的方法
Jun 20 Python
教你一步步利用python实现贪吃蛇游戏
Jun 27 Python
python元组的概念知识点
Nov 19 Python
keras:model.compile损失函数的用法
Jul 01 Python
解决jupyter notebook启动后没有token的坑
Apr 24 Python
Python机器学习之逻辑回归
May 11 Python
Django+Celery实现定时任务的示例
Jun 23 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 URL地址获取函数代码(端口等) 推荐
2010/05/15 PHP
php解析url的三个示例
2014/01/20 PHP
thinkphp缓存技术详解
2014/12/09 PHP
WordPress的主题编写中获取头部模板和底部模板
2015/12/28 PHP
基于jquery tab切换(防止页面刷新)
2012/05/23 Javascript
js全屏显示显示代码的三种方法
2013/11/11 Javascript
js中匿名函数的创建与调用方法分析
2014/12/19 Javascript
javascript结合fileReader 实现上传图片
2015/01/30 Javascript
iScroll中事件点击触发两次解决方案
2015/03/11 Javascript
javascript类型系统 Window对象学习笔记
2016/01/07 Javascript
Angularjs结合Bootstrap制作的一个TODO List
2016/08/18 Javascript
手机Web APP如何实现分享多平台功能
2016/08/19 Javascript
微信小程序开发一键登录 获取session_key和openid实例
2016/11/23 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
浅谈SpringMVC中post checkbox 多选框value的值(隐藏域方式)
2018/01/08 Javascript
axios拦截设置和错误处理方法
2018/03/05 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
vue2.0结合Element-ui实战案例
2019/03/06 Javascript
说说Vuex的getters属性的具体用法
2019/04/15 Javascript
electron实现静默打印的示例代码
2019/08/12 Javascript
Javascript查看大图功能代码实现
2020/05/07 Javascript
微信jssdk踩坑之签名错误invalid signature
2020/05/19 Javascript
python列表操作使用示例分享
2014/02/21 Python
Python中字典和JSON互转操作实例
2015/01/19 Python
python检测空间储存剩余大小和指定文件夹内存占用的实例
2018/06/11 Python
Python Pandas实现数据分组求平均值并填充nan的示例
2019/07/04 Python
python中for in的用法详解
2020/04/17 Python
哪些是python中web开发框架
2020/06/17 Python
python爬虫基础之urllib的使用
2020/12/31 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
毕业生幼师求职自荐信
2013/10/01 职场文书
十八大报告观后感
2014/01/28 职场文书
励志演讲稿500字
2014/08/21 职场文书
房地产项目合作意向书
2015/05/08 职场文书
创业计划书之网络外卖
2019/10/31 职场文书
CentOS下安装Jenkins的完整步骤
2022/04/07 Servers