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=[],可选值
相关推荐
Gauss松鼠会8 分钟前
【GaussDB】在duckdb中查询GaussDB的数据
数据库·sql·database·gaussdb
WHOVENLY14 分钟前
【javaScript】- 笔试题合集(长期更新,建议收藏,目前已更新至31题)
开发语言·前端·javascript
QT 小鲜肉28 分钟前
【Linux命令大全】001.文件管理之git命令(实操篇)
linux·服务器·笔记·git·elasticsearch
指尖跳动的光32 分钟前
将多次提交合并成一次提交
前端·javascript
虹科网络安全34 分钟前
艾体宝洞察 | Redis vs ElastiCache:哪个更具成本效益?
数据库·redis·缓存
程序员码歌37 分钟前
短思考第263天,每天复盘10分钟,胜过盲目努力一整年
android·前端·后端
自在极意功。38 分钟前
MyBatis 动态 SQL 详解:从基础到进阶实战
java·数据库·mybatis·动态sql
老邓计算机毕设40 分钟前
SSM校园订餐系统7z0dm(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·菜品管理系统·ssm 框架·ssm 框架开发·校园线上订餐平台
oden41 分钟前
1 小时速通!手把手教你从零搭建 Astro 博客并上线
前端
若梦plus41 分钟前
JS之类型化数组
前端·javascript