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中何种情况下需要使用断言
Apr 01 Python
python+django加载静态网页模板解析
Dec 12 Python
Python字符串格式化%s%d%f详解
Feb 02 Python
基于python 处理中文路径的终极解决方法
Apr 12 Python
Python GUI编程完整示例
Apr 04 Python
python、Matlab求定积分的实现
Nov 20 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
Jan 04 Python
将matplotlib绘图嵌入pyqt的方法示例
Jan 08 Python
Python 输出详细的异常信息(traceback)方式
Apr 08 Python
利用pandas向一个csv文件追加写入数据的实现示例
Apr 23 Python
Python基于当前时间批量创建文件
May 07 Python
Python-for循环的内部机制
Jun 12 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
重置版战役片段
2020/04/09 魔兽争霸
eaglephp使用微信api接口开发微信框架
2014/01/09 PHP
php中mkdir()函数的权限问题分析
2016/09/24 PHP
javascript最常用与实用的创建类的代码
2010/08/12 Javascript
基于jQuery架构javascript基础体系
2011/01/01 Javascript
JS中showModalDialog 的使用解析
2013/04/17 Javascript
基于jquery实现的省市区级联无ajax
2013/09/24 Javascript
Document.location.href和.replace的区别示例介绍
2014/03/04 Javascript
淘宝网提供的国内NPM镜像简介和使用方法
2014/04/17 Javascript
JQuery控制radio选中和不选中方法总结
2015/04/15 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
2016/05/31 Javascript
详解Vuex管理登录状态
2017/11/13 Javascript
Vue底层实现原理总结
2018/02/17 Javascript
微信小程序调用摄像头隐藏式拍照功能
2018/08/22 Javascript
详解vue-cli中使用rem,vue自适应
2019/05/06 Javascript
vue-test-utils初使用详解
2019/05/23 Javascript
微信小程序开发技巧汇总
2019/07/15 Javascript
通过GASP让vue实现动态效果实例代码详解
2019/11/24 Javascript
Nuxt.js nuxt-link与router-link的区别说明
2020/11/06 Javascript
Python解析nginx日志文件
2015/05/11 Python
Flask数据库迁移简单介绍
2017/10/24 Python
python中WSGI是什么,Python应用WSGI详解
2017/11/24 Python
python爬虫实例详解
2018/06/19 Python
python使用Turtle库绘制动态钟表
2018/11/19 Python
pytorch实现保证每次运行使用的随机数都相同
2020/02/20 Python
Python自动重新加载模块详解(autoreload module)
2020/04/01 Python
Bootstrap 学习分享
2012/11/12 HTML / CSS
Expedia意大利旅游网站:酒店、机票和租车预订
2017/10/30 全球购物
我的珠宝盒:Ma boîte à bijoux
2019/08/27 全球购物
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
买卖车协议书
2014/04/21 职场文书
成立公司计划书
2014/05/07 职场文书
入党积极分子学习党的纲领思想汇报
2014/09/13 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
选择比努力更重要?这是长期以来对“努力”的最大误解
2019/07/12 职场文书
Javascript中的解构赋值语法详解
2021/04/02 Javascript