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中用PIL库批量给图片加上序号的教程
May 06 Python
用Pygal绘制直方图代码示例
Dec 07 Python
django反向解析URL和URL命名空间的方法
Jun 05 Python
python一键去抖音视频水印工具
Sep 14 Python
Python 从subprocess运行的子进程中实时获取输出的例子
Aug 14 Python
python语言中有算法吗
Jun 16 Python
Keras中 ImageDataGenerator函数的参数用法
Jul 03 Python
Python中bisect的用法及示例详解
Jul 20 Python
scrapy结合selenium解析动态页面的实现
Sep 28 Python
关于python scrapy中添加cookie踩坑记录
Nov 17 Python
python里glob模块知识点总结
Jan 05 Python
python 制作本地应用搜索工具
Feb 27 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
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
zend api扩展的php对象的autoload工具
2011/04/18 PHP
sae使用smarty模板的方法
2013/12/17 PHP
PHP在线调试执行的实现方法(附demo源码)
2016/04/28 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
2019/04/09 PHP
javascript 24小时弹出一次的代码(利用cookies)
2009/09/03 Javascript
JS模板实现方法
2013/04/03 Javascript
Javascript简单实现可拖动的div
2013/10/22 Javascript
解析jquery中的ajax缓存问题
2013/12/19 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
2014/10/17 Javascript
使用ngView配合AngularJS应用实现动画效果的方法
2015/06/19 Javascript
Bootstrap源码解读导航(6)
2016/12/23 Javascript
如何理解jQuery中的ajaxSubmit方法
2017/03/13 Javascript
JS中图片压缩的方法小结
2017/11/14 Javascript
关于redux-saga中take使用方法详解
2018/02/27 Javascript
JavaScript 五大常见函数
2018/03/23 Javascript
jquery插件实现轮播图效果
2020/10/19 jQuery
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
如何在 Vue 中使用 JSX
2021/02/14 Vue.js
Web服务器框架 Tornado简介
2014/07/16 Python
使用Python的urllib2模块处理url和图片的技巧两则
2016/02/18 Python
Python中你应该知道的一些内置函数
2017/03/31 Python
Python 25行代码实现的RSA算法详解
2018/04/10 Python
python实现判断一个字符串是否是合法IP地址的示例
2018/06/04 Python
解决pip install的时候报错timed out的问题
2018/06/12 Python
python使用Matplotlib画条形图
2020/03/25 Python
numpy 声明空数组详解
2019/12/05 Python
python mysql自增字段AUTO_INCREMENT值的修改方式
2020/05/18 Python
在 Python 中使用 MQTT的方法
2020/08/18 Python
python实现图片素描效果
2020/09/26 Python
美国旅游网站:Tours4Fun
2017/02/17 全球购物
高中毕业自我评价
2014/02/08 职场文书
建国大业观后感800字
2015/06/01 职场文书
Java输出Hello World完美过程解析
2021/06/13 Java/Android
世界十大评分最高的动漫,CLANNAD上榜,第八赚足人们眼泪
2022/03/18 日漫
python manim实现排序算法动画示例
2022/08/14 Python