Python argparse模块用法

Python argparse模块用法

argparse是python推荐的命令行解析模块,命令行运行脚本时可以添加参数,在python脚本中通过该模块去解析参数,也可以限制参数类型,sys.argv也可以接收参数。

1. 示例

import argparse


# 创建解析对象, description是对它的描述
parser = argparse.ArgumentParser(description="test argparse")

# 向parser对象添加命令行参数和选项,这里两个参数,一个是长参数:--param1,一个是短参数:-p1
parser.add_argument("--param1", "-p1", type=str)

# 对命令行参数进行解析
args = parser.parse_args()

运行:

  • 终端输入命令:python argparse_demo.py -p1=这里是参数p1
  • 运行结果:
Namespace(param1='这里是参数p1')
这里是参数p1

add_argument()参数介绍:

  • type:指定参数类型
  • required:参数是否必填,如果为True则必须要传入对应的值
  • help:python test.py -h 会出现对应help的内容
  • nargs:指定这个参数后面的值有多少个,默认为1个,也可以写正则符号:+、*、数字
  • choices:设置参数范围

2. 多个参数情况

如果有多个参数需要传给脚本执行,可以通过多添加add_argument(),示例:

import argparse


# 创建解析对象
parser = argparse.ArgumentParser(description="test argparse")

# 向parser对象添加命令行参数和选项,长参数--param1,短参数-p1
parser.add_argument("--param1", "-p1", type=str)
parser.add_argument("--param2", "-p2", type=int)
parser.add_argument("--param3", "-p", type=int)

# 对命令参数解析
args = parser.parse_args()
print(args)

# 输出每个参数的值
print(args.param1,"\n", args.param2,"\n", args.param3)

运行:

  • 终端输入命令:python argparse_demo.py -p1=111 -p2=2 -p3 1 2 3
  • 运行结果:
Namespace(param1='111', param2=2, param3=[1, 2, 3])
111
 2
 [1, 2, 3]

参考自文章:https://blog.csdn.net/rongDang/article/details/93095057

上一篇:.NET 笔试题--自已作答


下一篇:Dockerfile(5) - CMD 指令详解