Python如何使用argparse模块处理命令行参数
作者:MrDoghead 发布时间:2023-02-03 18:10:20
标签:Python,argparse,模块,处理,命令行,参数
这篇文章主要介绍了Python如何使用argparse模块处理命令行参数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
介绍
argparse是python3标准库里用来处理命令行参数的模块
使用三步走:
创建 ArgumentParser() 对象
调用 add_argument() 方法添加参数
使用 parse_args() 解析添加的参数
实例
我们先来创建一个python文件
vim test.py
然后开始在输入模式(i)下输入代码
import argparse # 导入模块
parser = argparse.ArgumentParser() # 创建一个对象
parser.add_argument("square", help="pls enter a num", type=int) # 增加一个叫square的参数,类型必须是int
parser.add_argument("input_str", help="pls enter a string", type=str) # 增加一个叫input_str的参数,类型必须是str
args = parser.parse_args() # 解析
print(args.square ** 2)
print(args.input_str)
然后,让我们来运行一下
python test.py 3 "I am a string!"
# 结果是:
# 9
# I am a string!
如果要查看文件的参数信息
python test.py -h
如果要设定可选参数
parser = argparse.ArgumentParser()
parser.add_argument("--argument1", “-arg1”, help="display the first argument", type=int) # 参数名前加--,取别名为-arg1
parser.add_argument("--argument2", choices=[5,10,20], help="display the second argument", type=int) # choices 为限定候选列表
args = parser.parse_args()
print(args)
if args.argument1 and args.argument2:
print(args.argument1 + args.argument2)
执行一下
python test.py
# Namespace(argument1=None, argument2=None)
python test.py -arg1 3 --argument2 5
# Namespace(argument1=3, argument2=5)
# 8
如果要设定必选参数
使用required
parser.add_argument("--num", type=int, required=True, help="must enter a num")
参数还可以是文件
parser.add_argument('file', type=argparser.FileType('r')) # 读取文件
parser.add_argument('file', default='text.txt', type=argparser.FileType('r')) # 读取文件,预定义参数
来源:https://www.cnblogs.com/mrdoghead/p/12008197.html


猜你喜欢
- 本文实例为大家分享了JavaScript缓动动画函数的封装代码,供大家参考,具体内容如下本文将从封装缓动动画的以下几个部分进行封装(1、单个
- 在Web上使用菜单可以极大地节约页面的空间,同时也比较的符合用户从Windows上继承下来的UI操作体验。在以往的Web页菜单设计中,我们普
- 什么是pyc文件pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有
- 数组都是从0开始。javascript是arrayname[i],而vbscript是arrayname(i) javascript的字符串
- 一个普通WEB站点的页面常常需要查询N条SQL语句后才能得出页面结果,当网站访问速度慢而前端做了大量优化工作以后,数据库瓶颈的查找也是WEB
- 高考在即,笔者想为孩子以后能够快乐学习数学、学习编程找到一个比较合适的项目,经过一番比较发现github上的万星项目manim(https:
- 需求是, 同一个页面, 有多组(不固定), 每组区块数量不一定一样的小区块. 要求每次只展开一个区块. 实现原理其实很简单, 点击导航, 若
- 用python输出汉字字库问题1:假设我们知道汉字编码范围是0x4E00到0x9FA5,怎么从十六进制的编码转成人类可读的字呢?问题2:怎么
- 今天下午,低一度博客受到攻击了,出现了大约一个小时的访问异常。庆幸的是,这帮无耻歹徒没能成功获取我的Access数据库,而只是象征性地给我注
- 闪回区爆满问题也是经常会遇到的问题,最关键的是闪回设置大小以及归档被默认存放在了闪回目录,恰巧今天又遇到了这个问题,就记录下处理步骤,仅供遇
- MySQL中union和order by是可以一起使用的,但是在使用中需要注意一些小问题,下面通过例子来说明。首先看下面的t1表。1、如果直
- 本文实例讲述了Python计算三维矢量幅度的方法。分享给大家供大家参考。具体如下:from numpy import *from math
- 地图这期文章我们一起来看看地图是如何绘制的,如何在地图里面添加数据进行多维度的展示,下面我们一起来感受一下地图的魅力吧!&ldquo
- 本文实例讲述了PHP查询快递信息的方法。分享给大家供大家参考。具体如下:这里使用快递100物流查询官方文档中只能返回html的接口也可以返回
- 在现在的项目里,不管是电商项目还是别的项目,在管理端都会有导出的功能,比方说订单表导出,用户表导出,业绩表导出。这些都需要提前生成excel
- bbssend.asp'寻呼台页面,向在线网友发送寻呼信息<%@ Language=VBScript %&
- 1.准备工作先来到有道在线翻译的界面http://fanyi.youdao.com/F12 审查元素 ->选Network一栏,然后F
- 很多年以前,面对上古时代遗留的 HTML 发出的腐臭,我捂住鼻子唉声叹气。刚练熟 web 标准的我,恨不得寝其尸食其肉,把一切推翻重来。但经
- 如图,这次需要在图片中找到卷尺的红色刻度,所以需要对图像做过滤,只留下红色部分。一开始的想法是分别找到RGB值,然后找到红色区域的部分保留就
- 一、pycharm字体放大的设置File —> setting —> Keymap —>在搜寻框中输入:increase