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 相关文章推荐
深入浅析ImageMagick命令执行漏洞
Oct 11 Python
Python实现将Excel转换为json的方法示例
Aug 05 Python
基于Python中numpy数组的合并实例讲解
Apr 04 Python
python复制文件到指定目录的实例
Apr 27 Python
python3使用SMTP发送HTML格式邮件
Jun 19 Python
python开发之anaconda以及win7下安装gensim的方法
Jul 05 Python
Python Opencv提取图片中某种颜色组成的图形的方法
Sep 19 Python
Django import export实现数据库导入导出方式
Apr 03 Python
python实时监控logstash日志代码
Apr 27 Python
实例讲解Python中sys.argv[]的用法
Jun 03 Python
Python加密技术之RSA加密解密的实现
Apr 08 Python
Golang Web 框架Iris安装部署
Aug 14 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中限制ip段访问、禁止ip提交表单的代码分享
2014/08/22 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
关于JS管理作用域的问题
2013/04/10 Javascript
js查找某元素中的所有图片地址的方法
2014/01/16 Javascript
JavaScript按位运算符的应用简析
2014/02/04 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
2015/03/26 Javascript
jQuery实现表格与ckeckbox的全选与单选功能
2016/11/24 Javascript
Vue.js中用v-bind绑定class的注意事项
2016/12/13 Javascript
vue router2.0二级路由的简单使用
2017/07/05 Javascript
Angularjs cookie 操作实例详解
2017/09/27 Javascript
Vue.js 利用v-for中的index值实现隔行变色
2018/08/01 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
使用Node.js实现base64和png文件相互转换的方法
2020/03/11 Javascript
JavaScript 如何在浏览器中使用摄像头
2020/12/02 Javascript
python中的闭包函数
2018/02/09 Python
利用python的socket发送http(s)请求方法示例
2018/05/07 Python
pytorch cnn 识别手写的字实现自建图片数据
2018/05/20 Python
有关Tensorflow梯度下降常用的优化方法分享
2020/02/04 Python
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
2020/07/14 Python
python os.listdir()乱码解决方案
2021/01/31 Python
45个非常奇妙的CSS3 特性应用示例
2012/01/01 HTML / CSS
浅谈css3中的前缀
2016/07/20 HTML / CSS
HTML5 device access 设备访问详解
2018/05/24 HTML / CSS
时尚孕妇装:Ingrid & Isabel
2019/05/08 全球购物
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
用C语言实现文件读写操作
2013/10/27 面试题
银行开业庆典方案
2014/02/06 职场文书
企业厂务公开实施方案
2014/03/26 职场文书
建筑安全生产目标责任书
2014/07/23 职场文书
大型主题婚礼活动策划方案
2014/09/15 职场文书
教师批评与自我批评剖析材料
2014/10/16 职场文书
2014年商场工作总结
2014/11/22 职场文书
银行稽核岗位职责
2015/04/13 职场文书
2016年教师寒假学习心得体会
2015/10/09 职场文书
HTML5 新增内容和 API详解
2021/11/17 HTML / CSS
如何在Python中妥善使用进度条详解
2022/04/05 Python