百木园-与人分享,
就是让自己快乐。

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) 和错误信息

可选参数

  • 短参数:-,如-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=[],可选值

来源:https://www.cnblogs.com/XY-Heruo/p/15020678.html
图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » python命令行解析模块argparse

相关推荐

  • 暂无文章