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 相关文章推荐
kNN算法python实现和简单数字识别的方法
Nov 18 Python
python生成式的send()方法(详解)
May 08 Python
python表格存取的方法
Mar 07 Python
python merge、concat合并数据集的实例讲解
Apr 12 Python
python读取和保存视频文件
Apr 16 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
Dec 22 Python
Python爬虫beautifulsoup4常用的解析方法总结
Feb 25 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
Nov 15 Python
Django后台管理系统的图文使用教学
Jan 20 Python
python对一个数向上取整的实例方法
Jun 18 Python
详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式
Jan 24 Python
Python max函数中key的用法及原理解析
Jun 26 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 date与gmdate的获取日期的区别
2010/02/08 PHP
ajax返回值中有回车换行、空格的解决方法分享
2013/10/24 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
2016/09/14 PHP
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
jquery自定义滚动条插件示例分享
2014/02/21 Javascript
js在指定位置增加节点函数insertBefore()用法实例
2015/01/12 Javascript
javascript判断css3动画结束 css3动画结束的回调函数
2015/03/10 Javascript
简介JavaScript中toTimeString()方法的使用
2015/06/12 Javascript
js+ajax实现获取文件大小的方法
2015/12/08 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
win系统下nodejs环境安装配置
2017/05/04 NodeJs
JS switch判断 三目运算 while 及 属性操作代码
2017/09/03 Javascript
vue webuploader 文件上传组件开发
2017/09/23 Javascript
Javascript实现异步编程的过程
2018/06/18 Javascript
vue cli 3.0 搭建项目的图文教程
2019/05/17 Javascript
Vuex实现购物车小功能
2020/08/17 Javascript
[01:45]绝对公平!DOTA2队长征召模式详解
2014/04/25 DOTA
新手该如何学python怎么学好python?
2008/10/07 Python
python通过yield实现数组全排列的方法
2015/03/18 Python
python使用socket远程连接错误处理方法
2015/04/29 Python
python实现TCP服务器端与客户端的方法详解
2015/04/30 Python
windows系统下Python环境搭建教程
2017/03/28 Python
flask-restful使用总结
2018/12/04 Python
Python3操作MongoDB增册改查等方法详解
2020/02/10 Python
Python如何执行精确的浮点数运算
2020/07/31 Python
html5使用canvas压缩图片的示例代码
2018/09/11 HTML / CSS
百联网上商城:i百联
2017/01/28 全球购物
酒店应聘自荐信
2013/11/09 职场文书
企业文化标语大全
2014/06/10 职场文书
小学清明节活动总结
2014/07/04 职场文书
室内趣味活动方案
2014/08/24 职场文书
2015年体育部工作总结
2015/04/02 职场文书
情人节单身感言
2015/08/03 职场文书
党员观看《筑梦中国》心得体会
2016/01/18 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书
利用Redis实现点赞功能的示例代码
2022/06/28 Redis