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通过正则表达式选取callback的方法
Jul 18 Python
python线程、进程和协程详解
Jul 19 Python
基于Python实现对PDF文件的OCR识别
Aug 05 Python
Python爬虫工程师面试问题总结
Mar 22 Python
在PyCharm导航区中打开多个Project的关闭方法
Jan 17 Python
python 对字典按照value进行排序的方法
May 09 Python
用vue.js组件模拟v-model指令实例方法
Jul 05 Python
Pandas+Matplotlib 箱式图异常值分析示例
Dec 09 Python
Django admin 实现search_fields精确查询实例
Mar 30 Python
Python 解析库json及jsonpath pickle的实现
Aug 17 Python
python的scipy.stats模块中正态分布常用函数总结
Feb 19 Python
Python 图片添加美颜效果
Apr 28 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” 彩蛋进行敏感信息获取
2013/08/07 PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
2014/08/25 PHP
从刷票了解获得客户端IP的方法
2015/09/21 PHP
使用JavaScript创建新样式表和新样式规则
2016/06/14 PHP
PHP中字符串长度的截取用法示例
2017/01/12 PHP
实例分析PHP中PHPMailer发邮件
2017/12/13 PHP
php分享朋友圈的实现代码
2019/02/18 PHP
PHP利用递归函数实现无限级分类的方法
2019/03/22 PHP
PHP单文件上传原理及上传函数的封装操作示例
2019/09/02 PHP
JavaScript 实现??打印?理
2007/04/28 Javascript
jquery-easyui关闭tab自动切换到前一个tab
2010/07/29 Javascript
自己动手开发jQuery插件教程
2011/08/25 Javascript
编写针对IE的JS代码两种编写方法
2013/01/30 Javascript
jquery live()调用不存在的解决方法
2014/02/26 Javascript
如何改进javascript代码的性能
2015/04/02 Javascript
jQuery+html5实现div弹出层并遮罩背景
2015/04/15 Javascript
JS验证邮件地址格式方法小结
2015/12/01 Javascript
node使用UEditor富文本编辑器的方法实例
2017/07/11 Javascript
打造通用的匀速运动框架(实例讲解)
2017/10/17 Javascript
微信小程序云开发修改云数据库中的数据方法
2019/05/18 Javascript
vue实现点击出现操作弹出框的示例
2020/11/05 Javascript
Python中的startswith和endswith函数使用实例
2014/08/25 Python
详解设计模式中的工厂方法模式在Python程序中的运用
2016/03/02 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
对tensorflow 的模型保存和调用实例讲解
2018/07/28 Python
深入解析python中的实例方法、类方法和静态方法
2019/03/11 Python
Python 读取有公式cell的结果内容实例方法
2020/02/17 Python
如何用 Python 制作一个迷宫游戏
2021/02/25 Python
Juicy Couture Beauty官方网站:香水和化妆品
2019/03/12 全球购物
先进集体事迹材料
2014/02/17 职场文书
亮剑精神演讲稿
2014/05/23 职场文书
作风转变心得体会
2014/09/02 职场文书
公司离职证明标准样本
2014/10/05 职场文书
一文搞懂redux在react中的初步用法
2021/06/09 Javascript
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server
JS前端宏任务微任务及Event Loop使用详解
2022/07/23 Javascript