Python命令行解析模块argparse的使用

Python命令行解析模块argparse的使用



|

基本使用方法

|

Python命令行解析模块argparse的使用

请点击此处输入图片描述

Python命令行解析模块argparse的使用

输出结果

|

add_argument()方法

|

方法的原型:
Argumentparser.add_argument(name or flags…[, 

action][, 

nargs][, 

const][, 

default][, 

type][, 

choices][, 

required][, 

help][, 

metavar][,dest])

各个参数的含义:

|

  • 位置参数与可选参数:

  1. 可选参数

>>> 

parser.add_argument('-f', 

'--foo')
-f是--foo的短写形式,在命令行中输入任意一个都可以

 

 

2.  

位置参数

>>> 

parser.add_argument('bar')

  • action

 

 

 

 

action关键字参数定义了如何处理命令行参数,默认是保存参数的值,其他的一些action如下:

  1. ‘store_const’:保存关键字参数const的值,如图:

Python命令行解析模块argparse的使用

请点击此处输入图片描述

Python命令行解析模块argparse的使用

请点击此处输入图片描述

此时如果在–echo后面添加上参数的话会出现错误,其将不会被保存,因为已经保存了常量88

 

 

2.’store_true’和’store_false’

 

 

这两个值是’store_const’的两个特例,用来存储True和False,并且默认值便是True与False

Python命令行解析模块argparse的使用

请点击此处输入图片描述

Python命令行解析模块argparse的使用

请点击此处输入图片描述

 

 

 

2.’append’将会存储一个列表

Python命令行解析模块argparse的使用

请点击此处输入图片描述

Python命令行解析模块argparse的使用

请点击此处输入图片描述

  • narg  

     

    默认的action只处理一个位置的参数,但是narg将改变这种处理方式,让一个action处理多个参数,常用的值包括:

 

 

 

 

 

 

1.N(N为一个整数),N个命令行的参数将被收集到一个列表中

Python命令行解析模块argparse的使用

输入图片描述

Python命令行解析模块argparse的使用


请此处输入图片描述

 

 

 

 

这只能指定固定数量的参数,如果参数不固定可以使用 

 

‘+’ 

 

或者 

 

‘*’  

,有一点需要注意,要至少要有一个命令行参数,不然会报错。

Python命令行解析模块argparse的使用

请点击此处输入图片描述

Python命令行解析模块argparse的使用

请点击此处输入图片描述

  • defaul  

    默认值,可选参数省略的时候取的值,和const有区别,当flag没有省略的时候取const的值,要配合nargs=’?’(flag后面的参数出现1个或0个)使用。

Python命令行解析模块argparse的使用

请点击此处输入图片描述

Python命令行解析模块argparse的使用

请点击此处输入图片描述

  • type 命令行中输入的参数都是字符串,如果需要进行数据类型转换使用

    type关键字参数,其值有int,float等,其中一个特殊情况是FileType(‘w’),

    其将产生一个可写的文件。

Python命令行解析模块argparse的使用

请点击此处输入图片描述

Python命令行解析模块argparse的使用

请点击此处输入图片描述

Python命令行解析模块argparse的使用

请点击此处输入图片描述

以上便是常用的一些命令,更多细节请参看官方文档!!