自我总结argparse函数

好多代码的传参都是用argparse函数来写的,我在CSDN上搜索了一些,可是觉得越看越糊涂,我又去了博客园发现了几篇还不错的博客。自我总结,不时更新。
argparse,是Python标准库中推荐使用的编写命令行程序的工具。
首先,python给的英文原版解释在这
点我看英文原版
一个博客园的博主做了一些翻译,地址在这儿
点我看博主翻译版本
这个博主的解释也很详细
我觉得看懂了的一个版本
好了,下面该我自己总结了:
还有一个博主也的也很好
python之旅,极客学院

1、为什么要用argparse?

我目前的感觉是功能更加强大一些,圈定的为可选参数,且规范了范围,还有一些解释等等,功能很全,比直接给超参数赋值更好。所以在读好多大神的代码的时候他们都是这样写的。**欢迎评论补充优点!**好多功能是在终端上运行时才会显示出来的,我现在一般用pycharm,好多也用不到也没法做测试。

## 定义:argparse是python标准库里面用来处理命令行参数的库

2、使用步骤

import argparse    首先导入模块
parser = argparse.ArgumentParser()    创建一个解析对象
parser.add_argument()    向该对象中添加你要关注的命令行参数和选项
parser.parse_args()    进行解析

接下来就要介绍参数的使用方法了,有些可能会用到,但是有些一般用不到,不必特别深究。更详细的还是去看python官网的那个英文原版。

3、argparse.ArgumentParser()方法参数须知

 prog=None     - 程序名
 description=None,    - help时显示的开始文字
 epilog=None,     - help时显示的结尾文字
 parents=[],        -若与其他参数的一些内容一样,可以继承
 formatter_class=argparse.HelpFormatter,     - 自定义帮助信息的格式
 prefix_chars='-',    - 命令的前缀,默认是‘-’
 fromfile_prefix_chars=None,     - 命令行参数从文件中读取
 argument_default=None,    - 设置一个全局的选项缺省值,一般每个选项单独设置
 conflict_handler='error',     - 定义两个add_argument中添加的选项名字发生冲突时怎么处理,默认处理是抛出异常
 add_help=True    - 是否增加-h/--help选项,默认是True)

4、add_argument()方法参数须知

(1)name or flags,注意区分’echo’,’-echo’,’–echo’

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('echo')     # add_argument()指定程序可以接受的命令行选项
args = parser.parse_args()      # parse_args()从指定的选项中返回一些数据
print(args)
print(args.echo)

剩下的大概这样记就行。
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 - 解析后的参数名称,默认情况下,对于可选参数选取最长的名称,中划线转换为下划线.
接下来我就用到那个解释补充那一个,欢迎指正!

你可能感兴趣的:(argparse函数,python,编程语言)