概述
链接:https://docs.python.org/3/library/argparse.html#module-argparse
第一步:创建解析器
parser = 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)
参数 :
prog=None:定义程序的名称,方便以后用 %(prog)s 引用这个名字
usage=None:用法列表,形如 usage: PROG [-h] [–sum] 默认是系统根据参数自定义的,可以自己之传值指定。
- description:在开头加入一短话
- epilog :尾部一段话
- romfile_prefix_chars:表示参数可以使用文件,默认不可以。
- argument_default :全局默认值。argument_default =argparse.SUPPRESS 自动隐藏。
- conflict_handler :本来不允许,两个参数一样的,设置成conflict_handler = ‘resolve’。允许,并且是新值覆盖旧
- add_help : 默认有一个-h参数可用,可以设置成False
第二步:add_argument()
ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])
标识命令行参数如何被解析。
name or flags :有两种,区别是位置参数必须有,根据位置传入,可选参数要提前告知。‘BAR’-f ‘F’
- optional argument:可选的‘-f’ ‘–foo’
- positional argument :必须有的 ‘bar’通过前后位置输入
action: 对待参数的动作
- action=”store”:默认属性,用来储存命令行参数
- action=”store_true ” or action=”store_true ” :设置默认参数为true.这个相当于一个开关,最好只能让用户选true或者false
action=”store_const: 如果用户不给,默认使用const的值。对与可选变量很好用
parser = argparse.ArgumentParser() parser.add_argument('--foo', action='store_const', const=42) parser.parse_args('--foo'.split())
action=”append :这个储存一个列表,会把每一个参数append到list中
- action=”append_const:和store_const效果一样,都有const= 的属性
- action=”count:能自动返回关键字参数的调用次数,比如:-vvv 为三次
- action=”version:能够打印版本的信息,当启动的时候会自动调用
- 还可以自定一个类,来解析,暂时不需要
type:数据类型。默认是字符串,能设置为float,int,open。或着是自定的方法,接受一个string,返回东西
- choices :参数必须从这个列表中选择choices=[‘rock’, ‘paper’, ‘scissors’]
- required:让-f 类型的变成必选参数
- help:设置这个参数的 帮助文档,可以使用%(prog)s,%(default)s, %(type)s,等参数的信息(这个字符串如果要标识%请用 %%)
- metavar:别名,就是显示着好看,没什么用,默认是变成大写
- dest: :parse_args()输出的时候的名字,最终的属性名字。
第三步:parse_args()得到输入的属性
args = parser.parse_args()
返回的是Namespace类,这是一个简单类,就是为了储存属性值
- vars(args):把Namespace类转化为 dick_like类型
所以,像字典方法一样,如果你需要值,就是用 args.属性名字,有意思的是属性名字就是你当时起的属性名字(不带”–“)
over
最后
以上就是碧蓝大地为你收集整理的python 标准库-argparse 学习的全部内容,希望文章能够帮你解决python 标准库-argparse 学习所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复