编程语言
首页 > 编程语言> > python命令行解析模块argparse

python命令行解析模块argparse

作者:互联网

argparse是Python标准库中推荐的命令行解析模块

code01: tmp.py

import argparse

parser = argparse.ArgumentParser(description="test argparse")

# 使用add_argument() 方式设置可接受哪些命令行选项
# echo1和echo2为位置参数,使用时必需
parser.add_argument("echo1", type=str, help="echo something")
parser.add_argument("echo2", type=str, help="echo something")
# 下面四个为可选参数,使用时非必需
parser.add_argument("--sftp_ip",type=str,default="127.0.0.1", help="sftp服务的IP地址")
parser.add_argument("--sftp_port",type=int,default="22")

parser.add_argument("-H","--host",type=str, choices=["127.0.0.1", "192.168.0.10"])

# 创建互斥组,-v和-q不能同时使用
group = parser.add_mutually_exclusive_group()
group.add_argument("-v", "--verbose", action="store_true")
group.add_argument("-q", "--quiet", action="store_true")

args = parser.parse_args()

print(f"echo1: {args.echo1}, echo2: {args.echo2}")
print(f"sftp服务的IP为: {args.sftp_ip}, 端口号: {args.sftp_port}")
print(f"host is {args.host}")

argparse会自动生成帮助选项-h--help

位置参数

用法是不带-,默认必选。如果为空,会给出用法 (Usage) 和错误信息

可选参数

可以同时写进add_argument,比如:

parser.add_argument("-h","--host",type=str)

互斥参数

使用group.add_argument设置的命令行选项将互斥,不能同时使用

其它

标签:argparse,args,group,python,parser,argument,--,add,命令行
来源: https://www.cnblogs.com/XY-Heruo/p/15020678.html