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迭代器和生成器定义与用法示例
Feb 10 Python
python 处理dataframe中的时间字段方法
Apr 10 Python
tensorflow实现加载mnist数据集
Sep 08 Python
Python饼状图的绘制实例
Jan 15 Python
Python利用itchat库向好友或者公众号发消息的实例
Feb 21 Python
Python中的异常处理try/except/finally/raise用法分析
Feb 28 Python
Python生成一个迭代器的实操方法
Jun 18 Python
python查找重复图片并删除(图片去重)
Jul 16 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
Sep 20 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
Feb 18 Python
浅谈Python中threading join和setDaemon用法及区别说明
May 02 Python
Python可视化工具如何实现动态图表
Oct 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
PHP5在Apache下的两种模式的安装
2006/09/05 PHP
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
2013/04/13 PHP
PHP中unset,array_splice删除数组中元素的区别
2014/07/28 PHP
Yii视图CGridView实现操作按钮定义地址示例
2016/07/14 PHP
PHP单态模式简单用法示例
2016/11/16 PHP
Jquery选择器 $实现原理
2009/12/02 Javascript
在多个页面使用同一个HTML片段的代码
2011/03/04 Javascript
用js实现小球的自由移动代码
2013/04/22 Javascript
使用JS 清空File控件的路径值
2013/07/08 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
js 判断所选时间(或者当前时间)是否在某一时间段的实现代码
2015/09/05 Javascript
PHP+jquery+ajax实现分页
2016/12/09 Javascript
Bootstrap实现下拉菜单多级联动
2017/11/23 Javascript
Angular 向组件传递模板的两种方法
2018/02/23 Javascript
Vue的elementUI实现自定义主题方法
2018/02/23 Javascript
如何在js代码中消灭for循环实例详解
2018/07/29 Javascript
微信小程序如何获取用户收货地址
2018/11/27 Javascript
浅谈在Vue.js中如何实现时间转换指令
2019/01/06 Javascript
vue组件之间的数据传递方法详解
2019/04/19 Javascript
微信小程序如何引用外部js,外部样式,公共页面模板
2019/07/23 Javascript
React学习之JSX与react事件实例分析
2020/01/06 Javascript
[01:03:03]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
python学习数据结构实例代码
2015/05/11 Python
Python实现分割文件及合并文件的方法
2015/07/10 Python
Python实现正则表达式匹配任意的邮箱方法
2018/12/20 Python
对Python3 pyc 文件的使用详解
2019/02/16 Python
python 模拟创建seafile 目录操作示例
2019/09/26 Python
Pytorch 实现权重初始化
2019/12/31 Python
Python3 xml.etree.ElementTree支持的XPath语法详解
2020/03/06 Python
HTML5 device access 设备访问详解
2018/05/24 HTML / CSS
aden + anais官方网站:婴儿襁褓、毯子、尿布和服装
2017/06/21 全球购物
阿迪达斯香港官网:adidas香港
2019/11/09 全球购物
感恩之星事迹材料
2014/05/03 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
暗恋桃花源观后感
2015/06/12 职场文书
《去年的树》教学反思
2016/02/18 职场文书