Python中命令行参数argparse模块的使用
作者:陌北v1 发布时间:2023-11-15 09:25:40
标签:Python,argparse,模块,命令行
argparse 模块是Python内置的用于命令项选项与参数解析的模块,可以轻松编写友好的命令行接口,能够帮助程序员为模型定义参数。
传入一个参数
add_argument()中的type
参数表示传入参数的数据类型
import argparse
#定义命令行解析器对象
parser = argparse.ArgumentParser(description='参数说明')
#添加命令行参数
parser.add_argument('name',type=str,help='用户名')
#从命令行中结构化解析参数
args = parser.parse_args()
print(args.url)
python test.py 张三
结果:
张三
位置参数
按先后顺序传入参数
import argparse
parser = argparse.ArgumentParser(description='参数说明')
parser.add_argument('param1', type=str, help='参数1')
parser.add_argument('param2', type=str, help='参数2')
args = parser.parse_args()
print(args.param1,args.param2)
python test.py a1 a2
结果:
a1 a2
可选参数
可选参数类似于关键词传参,但需要在关键词前加–
import argparse
parser = argparse.ArgumentParser(description='参数说明')
parser.add_argument('--param1', type=str, help='参数1')
parser.add_argument('--param2', type=str, help='参数2')
args = parser.parse_args()
print(args.param1,args.param2)
python test.py --param1=a1
结果:
a1 None
名字可以写很多个,一般写两个,一个短参数,一个长参数
import argparse
parser = argparse.ArgumentParser(description='参数说明')
parser.add_argument('-f','--file', type=str, help='参数1')
args = parser.parse_args()
print(args.file)
python test.py -f=log.txt
结果:
log.txt
默认参数
add_argument()中的default
参数可以为对某个参数设置默认值,当命令行没有传入该参数的值的时候,参数会设为默认值
import argparse
parser = argparse.ArgumentParser(description='参数说明')
parser.add_argument('--param1', type=str, default='hello', help='参数1')
parser.add_argument('--param2', type=str, default='hello1', help='参数2')
args = parser.parse_args()
print(args.param1,args.param2)
python test.py --param1=a1
结果:
a1 hello1
必需参数
add_argument
中的required
参数可以设置某个参数是否为必需
import argparse
parser = argparse.ArgumentParser(description='参数说明')
parser.add_argument('--param1', type=str, required=True, default='', help='参数1')
parser.add_argument('--param2', type=str, default='hello1', help='参数2')
args = parser.parse_args()
print(args.param1,args.param2)
常用参数解释:
default: 代表如果该参数不输入,则会默认使用该值。
type: 表示传入参数的数据类型,例如:
str
,int
。required: 如果required=True则为必须项。
help: 参数的帮助信息。
来源:https://blog.csdn.net/qq233325332/article/details/128815774


猜你喜欢
- 写了网址规范化后,尚奇公司的柳先生建议再深入讨论一下301转向/重定向。下面就谈谈我所了解的301转向在搜索引擎优化方面的应用。什么是301
- 函数的迭代器函数的强大功能叫做迭代器,Python里面最具威力的功能之一。迭代器我们听起来会感觉非常陌生,在list、tuple都有用到它,
- 在MySQL中,如何实现Top N及M至N段的记录查询?我们可以利用MySQL中SELECT支持的一个子句——LIMIT——来完成这项功能。
- strip:用于移除字符串头尾指定的字符(默认为空格)或字符序列。注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。语法:st
- python matplotlib画图使用colorbar工具自定义颜色 colorbar(draw colorbar without an
- view()函数是在torch.Tensor.view()下的一个函数,可以有tensor调用,也可以有variable调用。其作用在于返回
- A.动态页面第一步:创建转向控制页面,创建网站默认的首页文件(通常为"index.asp"或"default.
- 本文实例讲述了Python实现的圆形绘制。分享给大家供大家参考,具体如下:# -*- coding:utf-8 -*-#! python3i
- 引入先安装三个模块pip install channelspip install channels_redispip install pyw
- 一、SQLalchemy简介SQLAlchemy是一个开源的SQL工具包,基本Python编程语言的MIT许可证而发布的对象关系映射器。SQ
- matlab中的filter函数:y = filter(b,a,x)python实现matlab中的filter函数def filter_m
- Keepalived由于在生产环境使用了mysqlcluster,需要实现高可用负载均衡,这里提供了keepalived+hap
- 本文实例讲述了javascript面向对象三大特征之封装。分享给大家供大家参考,具体如下:封装封装(Encapsulation):就是把对象
- 如何使用模板系统让我们深入研究模板系统,你将会明白它是如何工作的。但我们暂不打算将它与先前创建的视图结合在一起,因为我们现在的目的是了解它是
- 本文实例讲述了Python使用reportlab将目录下所有的文本文件打印成pdf的方法。分享给大家供大家参考。具体实现方法如下:# -*-
- 一、简介你一定用过那种“OCR神器”,可以把图片中的文字提取出来,极大的提高工作效率。今天,我们就来做一款实时截图识别的小工具。顾名思义,运
- 前言在实际诊断测试开发中,我们写测试脚本会用到CDD文件中的诊断,常规做法可能是用到哪个就定义哪个,这样做的弊端是有可能造成重复定义,或者整
- 观察者模式中的主题对象一般存在着一个其他服务依赖的核心服务,并且维护着其他依赖此核心服务的对象列表(即观察者或监视者列表),当主题对象发生变
- SQL Server 2000String driverName = "com.microsoft.jdbc.sqlserver.
- 如下所示:import urllib.requestimport sysimport http.cookiejarimport urllib