Python--argparse.ArgumentParser()用法解析

一、介绍

argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块。argparse模块的作用是用于解析命令行参数。

我们很多时候,需要用到解析命令行参数的程序,目的是在终端窗口(ubuntu是终端窗口,windows是命令行窗口)输入训练的参数和选项。

二、使用步骤

我们常常可以把argparse的使用简化成下面四个步骤:

1:import argparse

2:parser = argparse.ArgumentParser()

3:parser.add_argument()

4:parser.parse_args()

 

上面四个步骤解释如下:首先导入该模块;然后创建一个解析对象;然后向该对象中添加你要关注的命令行参数和选项,每一个add_argument方法对应一个你要关注的参数或选项;最后调用parse_args()方法进行解析;解析成功之后即可使用。

三、例子讲解

下面我们通过一个例子来进行讲解说明

我们可以看到上面的第二个步骤,parser = argparse.ArgumentParser()

它的作用就是:当调用parser.print_help()或者运行程序时由于参数不正确(此时python解释器其实也是调用了pring_help()方法)时,会打印这些描述信息,一般只需要传递description参数。

下面会有例子输出,首先给出代码:

#-*- coding: UTF-8 -*-
import argparse   #步骤一

def parse_args():
    """
    :return:进行参数的解析
    """
    parser = argparse.ArgumentParser(description="you should add those parameter")        # 这些参数都有默认值,当调用parser.print_help()或者运行程序时由于参数不正确(此时python解释器其实也是调用了pring_help()方法)时,                                                                     # 会打印这些描述信息,一般只需要传递description参数,如上。
    parser.add_argument('--addresses',default="sipingroad", help = "The path of address")
    parser.add_argument('--gpu', default=0)# 步骤二,后面的help是我的描述
    args = parser.parse_args()                                       # 步骤三
    return args

if __name__ == '__main__':
    args = parse_args()
    print(args.addresses)            #直接这么获取即可。

上面四个步骤已经分别对应上了,当我们在命令行敲入:

python arg.py -h 

输出提示为:

[root@localhost tmp]# python3 test-py.py -h
usage: test-py.py [-h] [--addresses ADDRESSES] [--gpu GPU]

you should add those parameter

optional arguments:
  -h, --help            show this help message and exit
  --addresses ADDRESSES
                        The path of address
  --gpu GPU

如何获得命令参数值。

我们可以直接通过args.addresses获得它的参数值。

当我们敲入python arg.py --addresses this-is-parameter-of-addresses 命令时


会输出this-is-parameter-of-addresses

到这里就总结了argparse模块常见的一些常见的用法。

你可能感兴趣的:(Python,python,开发语言)