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中stdout输出不缓存的设置方法
May 29 Python
Phantomjs抓取渲染JS后的网页(Python代码)
May 13 Python
详解python string类型 bytes类型 bytearray类型
Dec 16 Python
python+ffmpeg视频并发直播压力测试
Mar 06 Python
Python实现合并两个列表的方法分析
May 28 Python
python版本五子棋的实现代码
Dec 11 Python
Python hashlib加密模块常用方法解析
Dec 18 Python
Python读取YAML文件过程详解
Dec 30 Python
Pyspark获取并处理RDD数据代码实例
Mar 27 Python
python轮询机制控制led实例
May 03 Python
python 瀑布线指标编写实例
Jun 03 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
Oct 15 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的计数器程序
2006/10/09 PHP
前端必学之PHP语法基础
2016/01/01 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
2016/03/25 PHP
JS保留小数点(四舍五入、四舍六入)实现思路及实例
2013/04/25 Javascript
JS下拉框内容左右移动效果的具体实现
2013/07/10 Javascript
用JavaScript实现动画效果的方法
2013/07/20 Javascript
JS.getTextContent(element,preformatted)使用介绍
2013/09/21 Javascript
jquery浏览器滚动加载技术实现方案
2014/06/03 Javascript
jquery实现点击页面计算点击次数
2015/01/23 Javascript
实现无刷新联动例子汇总
2015/05/20 Javascript
AngularJS 简单应用实例
2016/07/28 Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
2017/09/28 Javascript
薪资那么高的Web前端必看书单
2017/10/13 Javascript
如何让你的JS代码更好看易读
2017/12/01 Javascript
webpack打包多页面的方法
2018/11/30 Javascript
基于JS实现数字动态变化显示效果附源码
2019/07/18 Javascript
koa2 用户注册、登录校验与加盐加密的实现方法
2019/07/22 Javascript
详解React的回调渲染模式
2020/09/10 Javascript
零基础写python爬虫之urllib2使用指南
2014/11/05 Python
python读取word文档的方法
2015/05/09 Python
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
解决python写入mysql中datetime类型遇到的问题
2018/06/21 Python
Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)
2018/10/22 Python
Python笔记之工厂模式
2019/11/20 Python
基于Python爬取京东双十一商品价格曲线
2020/10/23 Python
美国一家专业的太阳镜网上零售商:Solstice太阳镜
2016/07/25 全球购物
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
数控技术专业推荐信
2013/11/01 职场文书
铁路安全反思材料
2014/12/24 职场文书
股东大会通知
2015/04/24 职场文书
如何书写授权委托书?
2019/06/25 职场文书
php 原生分页
2021/04/01 PHP
何时使用Map来代替普通的JS对象
2021/04/29 Javascript
常用的Python代码调试工具总结
2021/06/23 Python
Java Spring 控制反转(IOC)容器详解
2021/10/05 Java/Android
SQL Server携程核心系统无感迁移到MySQL实战
2022/06/01 SQL Server