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正则表达式的使用范例详解
Aug 08 Python
python2.7的编码问题与解决方法
Oct 04 Python
python爬虫爬取某站上海租房图片
Feb 04 Python
新年快乐! python实现绚烂的烟花绽放效果
Jan 30 Python
Python字典遍历操作实例小结
Mar 05 Python
python导入坐标点的具体操作
May 10 Python
python 已知三条边求三角形的角度案例
Apr 12 Python
如何在mac版pycharm选择python版本
Jul 21 Python
Python基于pyjnius库实现访问java类
Jul 31 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
Feb 25 Python
python文件与路径操作神器 pathlib
Apr 01 Python
Python可视化神器pyecharts之绘制箱形图
Jul 07 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
PHP4在Windows2000下的安装
2006/10/09 PHP
php日期操作技巧小结
2016/06/25 PHP
Ecshop 后台添加新功能栏目及管理权限设置教程
2017/11/21 PHP
php图片裁剪函数
2018/10/31 PHP
在PHP中实现使用Guzzle执行POST和GET请求
2019/10/15 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
jQuery中:only-child选择器用法实例
2015/01/03 Javascript
浅析javascript异步执行函数导致的变量变化问题解决思路
2016/05/13 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
2016/09/03 Javascript
基于jQuery实现火焰灯效果导航菜单
2017/01/04 Javascript
Vue如何引入远程JS文件
2017/04/20 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
async/await让异步操作同步执行的方法详解
2019/11/01 Javascript
Python中解析JSON并同时进行自定义编码处理实例
2015/02/08 Python
Python实现的数据结构与算法之链表详解
2015/04/22 Python
Python实现对excel文件列表值进行统计的方法
2015/07/25 Python
对Python函数设计规范详解
2019/07/19 Python
Django打印出在数据库中执行的语句问题
2019/07/25 Python
python使用if语句实现一个猜拳游戏详解
2019/08/27 Python
python使用 request 发送表单数据操作示例
2019/09/25 Python
python使用Geany编辑器配置方法
2020/02/21 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
Python面向对象多态实现原理及代码实例
2020/09/16 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
2020/10/18 Python
药学专业大学生自荐信
2013/09/28 职场文书
一封普通求职者的求职信
2013/11/20 职场文书
应届大学生求职信
2013/12/01 职场文书
小学运动会广播稿200字(十二篇)
2014/01/14 职场文书
司机辞职报告范文
2014/01/20 职场文书
西门豹教学反思
2014/02/04 职场文书
给市场的环保建议书
2014/05/14 职场文书
2014年档案室工作总结
2014/12/01 职场文书
党员廉洁自律个人总结
2015/02/13 职场文书
大学生村官工作心得体会
2016/01/23 职场文书
八年级数学教学反思
2016/02/17 职场文书
Python自然语言处理之切分算法详解
2021/04/25 Python