Python argparse库简单入门

Posted ALKING1001

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python argparse库简单入门相关的知识,希望对你有一定的参考价值。

Python argparse库简单入门

资料参参考

知乎:https://zhuanlan.zhihu.com/p/138294710 比较全面

知乎:https://zhuanlan.zhihu.com/p/56922793 比较简洁

argparse库简单介绍

argparse 是 Python 的一个库,用于为程序提供命令行接口。使得程序员关注于接口功能的实现,而不用去关注于用户的输入的命令是否正确。

大体的流程是:

import argparse # 导入库
创建parser对象
向parser中添加参数
运行对象中的parse_args()函数,相当于获得一个完整的命令行解释器对象,执行完 .parse_args() 后,会得到一个 Namespace object,里面包含了从命令行中接收到的参数信息。

库中具体的函数介绍

parser库的主要函数就是.add_argument()函数了,作用是添加参数,参数类型大体可以分为两种:

  1. 位置参数:位置固定,不能颠倒顺序,并且不能省略。
  2. 可选参数:位置不固定(但是需要在输入前使用类似关键字的东西),可以省略也可以不省略(这个可以在设置里面自己设置)

位置参数

顺序固定,输入时必须提供相应的参数

示例:

import argparse
parser = argparse.ArgumentParser(description = ‘test‘)
parser.add_argument(‘arg1‘, type = int , help = ‘第一个位置参数,参数类型为int‘)
parser.add_argument(‘arg2‘, type = str, help=‘第二个参数‘)
args = parser.parse_args()
print(vars(args))
使用下面的代码来运行上面的程序,假设保存上面代码的文件名为test123.py
python test23.py 123 hello 
输出如下:
{‘arg1‘:123, ‘arg2‘:‘hello‘}

可选参数

顺序不定,使用类似关键字的形式来输入参数。

例如:

文件名:test123

import argparse
parser = argparse.ArgumentParser(description= ‘test2‘)
parser.add_argument(‘-a‘, ‘--apple‘, type=int, default=10)
parser.add_argument(‘-s‘, type=str, help=‘this is a string‘)
args = parser.parse_args()
print(vars(args))

运行上面的程序

python -a 12 -s hello
输出
{‘apple‘:12, ‘s‘:‘hello‘}

add_argument()中添加required = True,表示这个可选参数变成了必须参数

以上是关于Python argparse库简单入门的主要内容,如果未能解决你的问题,请参考以下文章

argparse 代码片段只打印部分日志

Python 杂记:argparse 模块

python常用代码片段总结

optparse 到 argparse 的简单包装器?

python标准库之argparse

python内置库--argparse