Python如何使用argparse模块处理命令行参数


Posted in Python onDecember 11, 2019

这篇文章主要介绍了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')) # 读取文件,预定义参数

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用smtplib模块通过gmail实现邮件发送的方法
May 08 Python
Python随手笔记第一篇(2)之初识列表和元组
Jan 23 Python
浅谈Python的垃圾回收机制
Dec 17 Python
python使用minimax算法实现五子棋
Jul 29 Python
Python3.7 pyodbc完美配置访问access数据库
Oct 03 Python
使用tqdm显示Python代码执行进度功能
Dec 08 Python
Java ExcutorService优雅关闭方式解析
May 30 Python
Python+Kepler.gl轻松制作酷炫路径动画的实现示例
Jun 02 Python
Pycharm自带Git实现版本管理的方法步骤
Sep 18 Python
python获取时间戳的实现示例(10位和13位)
Sep 23 Python
Python Numpy库的超详细教程
Apr 06 Python
Python使用BeautifulSoup4修改网页内容
May 20 Python
opencv3/C++ 平面对象识别&透视变换方式
Dec 11 #Python
Python Lambda函数使用总结详解
Dec 11 #Python
Python迭代器模块itertools使用原理解析
Dec 11 #Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
Dec 11 #Python
Python partial函数原理及用法解析
Dec 11 #Python
opencv3/python 鼠标响应操作详解
Dec 11 #Python
通过实例简单了解Python中yield的作用
Dec 11 #Python
You might like
FCKeditor添加自定义按钮
2008/03/27 PHP
php自定义hash函数实例
2015/05/05 PHP
PHP邮箱验证示例教程
2016/06/01 PHP
基于PHP实现用户注册登录功能
2016/10/14 PHP
laravel自定义分页效果
2017/07/23 PHP
PHP Include文件实例讲解
2019/02/15 PHP
jquery trim() 功能源代码
2011/02/14 Javascript
读jQuery之五(取DOM元素)
2011/06/20 Javascript
jquery怎样实现ajax联动框(二)
2013/03/08 Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
2015/01/28 Javascript
javascript 判断两个日期之差的示例代码
2015/09/05 Javascript
使用jQuery或者原生js实现鼠标滚动加载页面新数据
2016/03/06 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
Angular中封装fancyBox(图片预览)遇到问题小结
2017/09/01 Javascript
详解使用PM2管理nodejs进程
2017/10/24 NodeJs
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
详解Element 指令clickoutside源码分析
2019/02/15 Javascript
了解前端理论:rscss和rsjs
2019/05/23 Javascript
Element-ui DatePicker显示周数的方法示例
2019/07/19 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
2019/09/18 Javascript
layui实现显示数据表格、搜索和修改功能示例
2020/06/03 Javascript
[01:32]DOTA2上海特锦赛现场采访:最想COS的英雄
2016/03/25 DOTA
Python操作Sonqube API获取检测结果并打印过程解析
2019/11/27 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
python数据类型强制转换实例详解
2020/06/22 Python
I.T中国官网:精选时尚设计师单品网购平台
2018/03/26 全球购物
优秀的教师个人的中文求职信
2013/09/21 职场文书
精彩的推荐信范文
2013/11/26 职场文书
2014迎新年晚会策划方案
2014/02/23 职场文书
学校节能减排方案
2014/06/13 职场文书
物业保安岗位职责
2014/07/02 职场文书
党员弘扬焦裕禄精神思想汇报
2014/09/10 职场文书
2014年电厂个人工作总结
2014/11/27 职场文书
售房协议书范本
2015/08/11 职场文书
关于五一放假的通知
2015/08/18 职场文书
导游词之凤凰古城
2019/10/22 职场文书