argparse
是Python标准库中推荐的命令行解析模块
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) 和错误信息
-
,如-h
--
,如--help
可以同时写进add_argument
,比如:
parser.add_argument("-h","--host",type=str)
group = parser.add_mutually_exclusive_group()
使用group.add_argument
设置的命令行选项将互斥,不能同时使用
description
,程序用法帮助type
,参数的数据类型help
,帮助文档中显示选项说明default
,参数默认值,如果没有则默认为None
choices=[]
,可选值