Python argparse 用法总结
2024-10-07 02:27:25
使用argparse的四个基本步骤
- 创建 ArgumentParser() 对象
- 调用 add_argument() 方法添加参数
- 使用 parse_args() 解析添加的参数
# example
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('positional_param',type=int,help='positional param help') # 位置参数,凭位置赋值
parser.add_argument('--integer', type=int, help='display an integer') # 可选参数
args = parser.parse_args()
print (args.positional_param)
print (args.integer)
add_argument() 方法
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_true,表示默认赋值为True;
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 - 解析后的参数名称,默认情况下,对于可选参数选取最长的名称,中划线转换为下划线.
最新文章
- 介绍DSA数字签名,非对称加密的另一种实现
- LeetCode OJ 106. Construct Binary Tree from Inorder and Postorder Traversal
- [小北De编程手记] : Lesson 04 玩转 xUnit.Net 之 Fixture(下)
- Ubuntu下无法安装sun-java6-jdk的解决办法
- 学习OpenCV——粒子滤波(网上两篇文章总结)
- Android SDK Manager Google Apis 下载
- HDU 1159 Common Subsequence
- setcookie各个参数详解
- 怎么制作U盘系统/PE启动盘
- 比NotePad++更好的文本代码(C#)编辑器Sublime Text
- 1023 Train Problem II(卡特兰数)
- Struts2下载
- H3C三层交换机配置IP
- Windows Azure NotificationHub+Firebase Cloud Message 实现消息推动(付源码)
- layui在open弹出层回显,解决动态select数据回显问题
- ubuntu 14.04 pytorch安装
- mv,rm等命令出现unrecognized option提示的解决方法
- OpenCV学习笔记(一) - 边界填充、Rect函数
- mybatis(错误一) 项目启动时报“Result Maps collection already contains value forxxx”的解决方案
- MVVM双向绑定实现之Object.defineProperty