argument在python里什么意思_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
原文链接:https://blog.csdn.net/lly_zy/article/details/97130496
argument在python里什么意思_python add_argument() 的使用方法相关推荐
- Python里 int 和 bytes互转的方法
Python里 int 和 bytes互转的方法 在Python3之前,一般是使用下面的方法: >>> import struct >>> struct.pack( ...
- python里class转换_python实现class对象转换成json/字典的方法
python实现class对象转换成json/字典的方法 发布于 2016-03-28 08:05:44 | 153 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是 ...
- python中getopt函数_python getopt模块使用方法
python中 getopt 模块,是专门用来处理命令行参数的 getop标准格式: 函数getopt(args, shortopts, longopts = []) shortopts 是短参数 ...
- python中len字典_Python 字典(Dictionary) len()方法
Python 字典(Dictionary) len()方法 描述 Python 字典(Dictionary) len() 函数计算字典元素个数,即键的总数.高佣联盟 www.cgewang.com 语 ...
- python深入与提高_Python深入01 特殊方法与多范式
Python一切皆对象,但同时,Python还是一个多范式语言(multi-paradigm),你不仅可以使用面向对象的方式来编写程序,还可以用面向过程的方式来编写相同功能的程序(还有函数式.声明式等 ...
- python格式化字符串漏洞_Python字符串格式化的方法(两种)
本文介绍了Python字符串格式化,主要有两种方法,分享给大家,具体如下 用于字符串的拼接,性能更优. 字符串格式化有两种方式:百分号方式.format方式. 百分号方式比较老,而format方式是比 ...
- argument在python里什么意思_在Python中星号*是什么意思?
看见函数定义在语言参考中.如果表格*identifier则初始化为接收任何多余位置参数的元组,默认为空元组.如果表格**identifier则初始化为接收任何多余关键字参数的新字典,默认为新的空字典. ...
- python里的拼接_Python拼接字符串的7种方法总结
前言 忘了在哪看到一位编程大牛调侃,他说程序员每天就做两件事,其中之一就是处理字符串.相信不少同学会有同感. 在Python中,我们经常会遇到字符串的拼接问题,几乎任何一种编程语言,都把字符串列为最基 ...
- install在python里什么意思_python setup.py install是什么意思
python setup.py install是什么意思? python setup.py install 是我们用来安装下载的python包或者自己按照python官方规范开发的扩展包的常用指令. ...
最新文章
- 【小练习05】HTML+CSS--淘宝商铺小页面
- 【数学题】又是倍数问题
- groovy附件存mysql_Groovy 操作mysql数据库
- JSP的“三指六动九内”
- css背景从左到右颜色渐变,CSS:linear-gradient()背景颜色渐变
- OS操作系统概念简介
- Innodb中自增长值的列
- Android Java类编写规范+优化建议
- Hyperledger fabric 区块结构、交易结构
- 翻译:iOS Swift单元测试 从入门到精通 Unit Test和UI测试 UITest
- 照片墙 php源码,分享一个心型照片墙源码
- dorado7.x form提交数据报错
- Dijkstra最短路算法
- Bios开启CPU虚拟化后,进不了系统,解决办法如下
- 卡尔沃宁方法 | 计算运动目标心率
- RDL 报表 - 制作双坐标轴图表
- JavaScript实现开关灯效果
- 为什么业务中很少用到设计模式
- 分布式-分布式常见问题和解决方案
- 助你深刻理解——最长公共子串、最长公共子序列(应该是全网数一数二的比较全面的总结了)
热门文章
- MySQL抓包工具:MySQL Sniffer【转】
- mysql全局权限账户%登录不上ERROR 1045 (28000): Access denied for user #39;mhz#39;@#39;localhost#39; (using ...
- Jon Person教你如何用.NET/.NETCF写GPS应用程序。
- 201671010456-张琼 实验二 词频统计软件项目报
- [GO] go使用etcd和watch方法进行实时的配置变更
- 八. 输入输出(IO)操作3.面向字符的输出流
- PHP-FPM进程数的设定
- ReSharper 配置及用法(转)
- 我理解的【旁路代理】
- windows server 2008 如何取消禁ping