argparse使用方法简单总结

简介: argparse使用方法简单总结argparse是python自带的命令行参数解析包,可以用来方便地读取命令行参数,当你的代码需要频繁地修改参数的时候,使用这个工具可以将参数和代码分离开来,让你的代码更简洁,适用范围更广。

argparse使用方法简单总结


argparse是python自带的命令行参数解析包,可以用来方便地读取命令行参数,当你的代码需要频繁地修改参数的时候,使用这个工具可以将参数和代码分离开来,让你的代码更简洁,适用范围更广。

argparse的使用方法比较简单,下面使用python3为例,逐步讲解它的使用方法。

1.基本方法

import argparse
def main():
    parser = argparse.ArgumentParser(description="Demo of argparse")
    parser.add_argument('-n','--name', default=' Li ')
    args = parser.parse_args()
    print(args)
    name = args.name
    print('Hello {}'.format(name))
if __name__ == '__main__':
    main()

上面的函数就是实现argparse功能的基本的框架。首先我们要导入argparse相关的包,然后通过argparse.ArgumentParser生成对象,description是在命令行模式时显示帮助信息。之后我们通过parser.add_argument向该对象中添加你要关注的命令行参数和选项。我们通过加入了–name这个参数,default表示没有参数传输进来的时候我们默认使用"Li"。最后我们使用parser.parse_args进行解析。

在命令行执行语法及输出结果

$ python test.py
Namespace(name=' Li ')
Hello  Li

我们也可以直接给参数赋值

$ python test.py --name YA
Namespace(name='YA')
Hello YA

上面就是argparse使用的基本流程,下面我将介绍一下add_argument常用的基本参数,以方便我们的具体使用和理解

2. default

当我们没有输入参数的时候,就传入default的默认参数。

3. help

帮助值是一个字符串,包含参数的简短描述。当用户请求帮助时(通常在命令行使用-h--help),这些帮助描述将与每个参数一起显示。

import argparse
def main():
    parser = argparse.ArgumentParser(description="Demo of argparse")
    parser.add_argument('-n','--name', default=' Li ',help="Enter the name")
    args = parser.parse_args()
    print(args)
    name = args.name
    print('Hello {}'.format(name))
if __name__ == '__main__':
    main()

4. type

默认情况下,ArgumentParser对象以简单字符串的形式读取命令行参数。然而,通常命令行字符串应该被解释为另一种类型,比如float或int。add_argument()的type关键字参数允许执行任何必要的类型检查和类型转换。下面我们以打印A+B(A=2,B=5,type = float)方式来说明:

import argparse
def main():
    parpse = argparse.ArgumentParser(description="Demo of arfparse")
    parpse.add_argument("-A",default = "2",type = float)
    parpse.add_argument("-B",default = "5",type = float)
    args = parpse.parse_args()
    print("A+B:{} + {} = ".format(args.A,args.B),args.A + args.B)
if __name__ == '__main__':
    main()   

结果为

$ python test.py
A+B:2.0 + 5.0 =  7.0

5. dest

大多数ArgumentParser操作都添加一些值作为parse_args()返回的对象的属性。此属性的名称由add_argument()的dest关键字参数决定。对于位置参数操作,dest通常作为add_argument()的第一个参数,也就是-或者–后面的第一个参数,也可以用dest=去定义。一个官网的例子

import argparse
def main():  
    parser = argparse.ArgumentParser(description="Demo of arfparse")
    parser.add_argument('--foo', dest='bar')
    return parser
if __name__ == '__main__':
    print(main().parse_args('--foo XXX'.split()))

结果过为

$ python test.py
Namespace(bar='XXX')
相关文章
|
2月前
|
Python
命令行解析工具 argparse
命令行解析工具 argparse
51 14
|
3月前
|
Python
【Python3】argparse解析与使用_python3 argparse
【8月更文挑战第1天】argparse 是对终端输入的命令行的参数进行解析,俗称命令行解析器。
40 1
|
6月前
argparse的基本使用--参数解析
argparse的基本使用--参数解析
67 0
argparse 简单使用
argparse 简单使用
40 0
|
Python
Python参数解析工具argparse.ArgumentParser()
Python参数解析工具argparse.ArgumentParser()
|
Python 容器
【Python标准库】argparse的add_argument() 方法介绍
【Python标准库】argparse的add_argument() 方法介绍
|
机器学习/深度学习 存储
argparse库
argparse库
categorical_crossentropy与sparse_categorical_crossentropy的区别
categorical_crossentropy与sparse_categorical_crossentropy的区别
|
存储 Python 容器
看完这篇,你可就真的会了argparse!!!
看完这篇,你可就真的会了argparse!!!
260 0