介绍:

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() 的使用方法相关推荐

  1. Python里 int 和 bytes互转的方法

    Python里 int 和 bytes互转的方法 在Python3之前,一般是使用下面的方法: >>> import struct >>> struct.pack( ...

  2. python里class转换_python实现class对象转换成json/字典的方法

    python实现class对象转换成json/字典的方法 发布于 2016-03-28 08:05:44 | 153 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是 ...

  3. python中getopt函数_python getopt模块使用方法

    python中 getopt 模块,是专门用来处理命令行参数的 getop标准格式: 函数getopt(args, shortopts, longopts = []) shortopts 是短参数   ...

  4. python中len字典_Python 字典(Dictionary) len()方法

    Python 字典(Dictionary) len()方法 描述 Python 字典(Dictionary) len() 函数计算字典元素个数,即键的总数.高佣联盟 www.cgewang.com 语 ...

  5. python深入与提高_Python深入01 特殊方法与多范式

    Python一切皆对象,但同时,Python还是一个多范式语言(multi-paradigm),你不仅可以使用面向对象的方式来编写程序,还可以用面向过程的方式来编写相同功能的程序(还有函数式.声明式等 ...

  6. python格式化字符串漏洞_Python字符串格式化的方法(两种)

    本文介绍了Python字符串格式化,主要有两种方法,分享给大家,具体如下 用于字符串的拼接,性能更优. 字符串格式化有两种方式:百分号方式.format方式. 百分号方式比较老,而format方式是比 ...

  7. argument在python里什么意思_在Python中星号*是什么意思?

    看见函数定义在语言参考中.如果表格*identifier则初始化为接收任何多余位置参数的元组,默认为空元组.如果表格**identifier则初始化为接收任何多余关键字参数的新字典,默认为新的空字典. ...

  8. python里的拼接_Python拼接字符串的7种方法总结

    前言 忘了在哪看到一位编程大牛调侃,他说程序员每天就做两件事,其中之一就是处理字符串.相信不少同学会有同感. 在Python中,我们经常会遇到字符串的拼接问题,几乎任何一种编程语言,都把字符串列为最基 ...

  9. install在python里什么意思_python setup.py install是什么意思

    python setup.py install是什么意思? python setup.py install 是我们用来安装下载的python包或者自己按照python官方规范开发的扩展包的常用指令. ...

最新文章

  1. 【小练习05】HTML+CSS--淘宝商铺小页面
  2. 【数学题】又是倍数问题
  3. groovy附件存mysql_Groovy 操作mysql数据库
  4. JSP的“三指六动九内”
  5. css背景从左到右颜色渐变,CSS:linear-gradient()背景颜色渐变
  6. OS操作系统概念简介
  7. Innodb中自增长值的列
  8. Android Java类编写规范+优化建议
  9. Hyperledger fabric 区块结构、交易结构
  10. 翻译:iOS Swift单元测试 从入门到精通 Unit Test和UI测试 UITest
  11. 照片墙 php源码,分享一个心型照片墙源码
  12. dorado7.x form提交数据报错
  13. Dijkstra最短路算法
  14. Bios开启CPU虚拟化后,进不了系统,解决办法如下
  15. 卡尔沃宁方法 | 计算运动目标心率
  16. RDL 报表 - 制作双坐标轴图表
  17. JavaScript实现开关灯效果
  18. 为什么业务中很少用到设计模式
  19. 分布式-分布式常见问题和解决方案
  20. 助你深刻理解——最长公共子串、最长公共子序列(应该是全网数一数二的比较全面的总结了)

热门文章

  1. MySQL抓包工具:MySQL Sniffer【转】
  2. mysql全局权限账户%登录不上ERROR 1045 (28000): Access denied for user #39;mhz#39;@#39;localhost#39; (using ...
  3. Jon Person教你如何用.NET/.NETCF写GPS应用程序。
  4. 201671010456-张琼 实验二 词频统计软件项目报
  5. [GO] go使用etcd和watch方法进行实时的配置变更
  6. 八. 输入输出(IO)操作3.面向字符的输出流
  7. PHP-FPM进程数的设定
  8. ReSharper 配置及用法(转)
  9. 我理解的【旁路代理】
  10. windows server 2008 如何取消禁ping