python 命令行参数模块argparse
创始人
2024-05-31 19:25:57
0

Python中的argparse模块是一个命令行参数解析器,它可以让开发者轻松地编写用户友好的命令行界面。
argparse模块可以自动从命令行中解析出参数,将它们转化为Python中的对象,并提供一些额外的功能,如自动生成帮助文档、参数类型检查等。
argparse模块的核心是ArgumentParser类,使用这个类可以定义程序需要接收的参数和选项.

使用argparse的四个步骤
导入argparse包 ——import argparse
创建 ArgumentParser() 对象
调用add_argument() 方法添加参数
解析命令行的参数 ——使用 parse_args() 解析添加的参数

方法add_argument的参数:

def add_argument(self,*name_or_flags: str,action: Union[str, Type[Action]] = ...,nargs: Union[int, str] = ...,const: Any = ...,default: Any = ...,type: Union[(str) -> _T, (str) -> _T, FileType] = ...,choices: Iterable[_T] = ...,required: bool = ...,help: Optional[str] = ...,metavar: Union[str, Tuple[str, ...], None] = ...,dest: Optional[str] = ...,version: str = ...,**kwargs: Any) -> Action

例子

parser=argparse.ArgumentParser("python")
parser.add_argument("-p", "--port",help="port to listen",type=int,nargs=5,dest="ports")
args=parser.parse_args()
print(args.ports,type(args.ports))

在这里插入图片描述
解释:
-p,–port,参数名称,help:帮助信息,type:参数被转换类型,nargs:读取命令行参数个数,多个参数被转化为列表,dest:解析后的参数名称

    parser.add_argument("-p", "--port",help="port to listen",default=8080,type=int,dest="ports")args=parser.parse_args()print(args.ports,type(args.ports))

default:默认值
在这里插入图片描述

parser.add_argument("-p", "--port",help="port to listen",required=True,type=int,dest="ports")

required:是否为必选参数或可选参数

在这里插入图片描述

    parser=argparse.ArgumentParser("python")parser.add_argument("-p", "--port",help="port to listen",required=True,type=int,dest="ports")parser.add_argument("-f","--flags",action="store_true")args=parser.parse_args()print(args.ports,type(args.ports),args.flags)

action: 当带有store_true时,你传入对应参数,则参数为真,否则为假,store_flase时则相反
在这里插入图片描述

parser.add_argument("-l",choices="12345")
choices,参数l的取值只能是12345,1,2,3,4,5,12,123,1234等,不能是其它,不能乱序

在这里插入图片描述

相关内容

热门资讯

特朗普宣称对韩日等14国加征关... 转自:京报网_北京日报官方网站 【#特朗普宣称对韩日等1...
主题乐园的消费分化 有人为乐高... 7月5日,中国首家乐高乐园度假区在上海正式营业。前一天,深圳乐高乐园度假区也释出最新进展,81个单体...
神奇的纸雕刻怎么做 神奇的纸雕刻怎么做纸雕好做,只是神奇不好弄啊
专访俄国际事务委员会学术主任安... 据央视新闻报道,当地时间7月6日,金砖国家领导人第十七次会晤发表里约热内卢宣言。在金砖国家持续扩员,...
估值2000亿 小红书的大象之... 资本市场迫切在等下一个科技新贵出现,小红书站到了这一高光时刻。“今年可能要冲一把,无论是消费市场的火...
当美国不再“例外”... (转自:大公馆)这几年,美股涨的是真的牛。支撑这个牛的叙事,就是“美国例外论”。按照美国人自己的说法...
河北涉县:农文旅深度融合绘新篇 炎炎夏日,到河北涉县旅游的游客多了起来。游客们三三两两在清漳河畔戏水游玩、到韩王九寨观云海、太行五指...
防治二点委夜蛾幼虫 一、幼虫识别: 形态特征:幼虫体长约15-20mm,体色黄褐或灰褐色,背部有深色纵纹,各节有黑褐色毛...
根据成语猜年龄 根据成语猜年龄趣填年龄:你知道下面的说法代表的是多少岁吗?而立之年_________ 花甲之年___...
纳指收跌0.9%,日、韩公司股... 美股三大指数集体收跌,道指跌0.94%,纳指跌0.92%,标普500指数跌0.79%。在美上市的日本...