argparse 模块可以轻松编写用户友好的命令行接口。程序定义它需要的参数,然后 argparse 将弄清如何从 sys.argv 解析出那些参数。 argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。

argparse简单使用流程

主要有三个步骤:

  • 创建 ArgumentParser() 对象
  • 调用 add_argument() 方法添加参数
  • 使用 parse_args() 解析添加的参数

创建解析器对象

parser = argparse.ArgumentParser()

一般这样即可,全部可选参数如下。

class argparse.ArgumentParser(prog=None, usage=None, description=None, epilog=None, parents=[], formatter_class=argparse.HelpFormatter, prefix_chars='-', fromfile_prefix_chars=None, argument_default=None, conflict_handler='error', add_help=True, allow_abbrev=True)

详细解释参考官方文档:https://docs.python.org/zh-cn/3/library/argparse.html#argparse.ArgumentParser

添加参数

分为添加位置参数-positional arguments和可选参数-optional arguments
添加位置参数声明的参数名前缀不带-或--,按照顺序进行解析,在命令中必须出现,否则报错,命令通常为:

parser.add_argument("a")
parser.add_argument("b")
parser.add_argument("c")

添加可选参数声明的参数名前缀带-或--,前缀是-的为短参数,前缀是--是长参数,两者可以都有,也可以只有一个,短参数和长参数效果一样。可选参数的值接在位置参数的后面,不影响位置参数的解析顺序。
以深度学习训练中经常出现的为例:

parser.add_argument('--batch-size', type=int, default=64, metavar='N',help='input batch size for training (default: 64)')
parser.add_argument('--momentum', type=float, default=0.5, metavar='M',help='SGD momentum (default: 0.5)')
parser.add_argument('--no-cuda', action='store_true', default=False,help='disables CUDA training')
parser.add_argument('--save-model', action='store_true', default=False,help='For Saving the current Model')

其中action参数的'store_true'指的是:触发action时为真,不触发则为假。即储存了一个bool变量,默认为false,触发不用赋值即变为true
type:指定参数类别,默认是str,传入数字要定义
help:是一些提示信息
default:是默认值
metavar: 在 usage 说明中的参数名称,对于必选参数默认就是参数名称,对于可选参数默认是全大写的参数名称.
其它详细用法文档介绍:https://docs.python.org/zh-cn/3/library/argparse.html#argparse.ArgumentParser.add_argument

解析参数

args = parser.parse_args()

这样args就有了参数属性,可以用args了。

示例:

# 导入包
import argparse
# 创建解析器
parser = argparse.ArgumentParser() #添加位置参数(positional arguments)
parser.add_argument('-a', type=int,help='input a int')
args = parser.parse_args()
print(args.a)

转载于:https://www.cnblogs.com/cuhm/p/10643765.html

python之Argparse模块相关推荐

  1. python的argparse模块

    使用步骤: 1:import argparse        #导入argparse模块 2:parser = argparse.ArgumentParser()        #创建实例 3:par ...

  2. python自学argparse模块

    argparse模块 argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块 使用步骤 import argparse # 导入模块,这个没什么说的 ...

  3. 【python之argparse模块学习】简单入门

    目录 0 前言 1 入门程序 2 参数 2.1 位置参数 2.2 可选参数 2.3 矛盾选项 3 总结 4 参考文献 0 前言 该模块地位: Python 标准库中推荐的命令行解析模块. 类比linu ...

  4. Python之argparse模块的使用

    我们在写python脚本的时候,有时候需要在运行的时候传入参数,而不是写死在程序里,这个时候就要用到argparse模块.argparse 是 Python 内置的一个用于命令项选项与参数解析的模块, ...

  5. python中argparse模块关于 parse_args() 函数详解(全)

    目录 前言 1. 函数讲解 2. 基本用法 3. 实战讲解 前言 原理:命令行解析使用argparse包 作用:命令行传参赋值 可用在机器学习深度学习 或者 脚本运行等 了解这个函数需要了解其背后的原 ...

  6. python中argparse模块

    参考官方文档https://docs.python.org/zh-cn/3/library/argparse.html#nargs python中参数解释器,使用流程: import argparse ...

  7. Python 中argparse模块的使用

    正文共495个字,预计阅读时间5分钟. Python解析命令行读取参数有两种方式:sys.argv和argparse 1.sys.argv 如果脚本很简单或临时使用,没有多个复杂的参数选项,可以直接利 ...

  8. python的argparse模块parse_known_args()方法的使用

    parse_known_args()方法的用处就是有些时候,你的选项配置可能不会在一个函数或包中调用完成.在很多时候,我们可能会需要根据一些输入的选项,比如在深度学习中,我们可能会根据传入的模型设置– ...

  9. python idls_Python argparse模块实现模拟 linux 的ls命令

    python 模拟linux的 ls 命令 sample: python custom_ls.py -alh c:/ 选项: -a ,--all 显示所有文件,包括'.'开头的隐藏文件 -l  列表显 ...

最新文章

  1. 从pandas resample说起,然后再超越resample,通过pd.Grouper、groupby、agg
  2. Spring事务CallbackPreferringPlatformTransactionManager
  3. 【操作系统】部分概念解释题
  4. 数据结构之算法初涉(2)
  5. 常用excel函数 vlookup,concatenate, 的使用
  6. python游戏开发库_Python库之游戏开发及虚拟现实
  7. 剑指offer——30.包含min函数的栈
  8. php 怎样让 键 值 反转,PHP 控制和反转
  9. 在Oracle Data Guard环境中的RMAN备份和还原
  10. Rundll32.exe 转自5iuu.com
  11. 微信小程序---快速上手云开发
  12. caffe中各种cblas的函数使用总结
  13. 掌握这些核心算法,拿不到10+个offer你来找我,我锤飞你个不争气的
  14. AES算法描述及C语言实现
  15. Java利用Set集合去重复
  16. LADY M过了自己的“赏味期限”?
  17. trunk端口配置的PVID
  18. RTSP/RTMP/GB28181协议/海康SDK/Ehome协议接入TSINGSEE青犀视频平台磁盘空间计算介绍
  19. chrome调用IE
  20. Adobe正版软件购买

热门文章

  1. 常用javascript代码
  2. 兼容IE和FF的js脚本做法(比较常用)[问题点数:20分]
  3. Beej网络编程指南《三》
  4. linux_unix系统编程手册源代码编译
  5. STM32半主机模式
  6. 基于STM32,无人船岸基信息处理代码--python实现
  7. Dockerfile: no such file or directory
  8. 计算1+2+……+N的和。
  9. easyExcel 读取日期为数字的解决方案
  10. 如何用TensorFlow训练聊天机器人(附github)