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创建和使用字典实例详解
Nov 01 Python
浅析Python的web.py框架中url的设定方法
Jul 11 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
Jul 06 Python
小米5s微信跳一跳小程序python源码
Jan 08 Python
python搭建服务器实现两个Android客户端间收发消息
Apr 12 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
Nov 20 Python
Python实现Selenium自动化Page模式
Jul 14 Python
Python3打包exe代码2种方法实例解析
Feb 17 Python
Python 抓取数据存储到Redis中的操作
Jul 16 Python
python录音并调用百度语音识别接口的示例
Dec 01 Python
浅谈盘点5种基于Python生成的个性化语音方法
Feb 05 Python
Python数据可视化之Seaborn的安装及使用
Apr 19 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
php实现的双向队列类实例
2014/09/24 PHP
PHP自毁程序(慎用)
2015/07/09 PHP
php用正则判断是否为数字的方法
2016/03/25 PHP
PHP实现导出带样式的Excel
2016/08/28 PHP
php排序算法实例分析
2016/10/17 PHP
thinkPHP5框架中widget的功能与用法详解
2018/06/11 PHP
Laravel框架实现的记录SQL日志功能示例
2018/06/19 PHP
PHP convert_uudecode()函数讲解
2019/02/14 PHP
PHP Primary script unknown 解决方法总结
2019/08/22 PHP
Jquery实现简单的动画效果代码
2012/03/18 Javascript
利用函数的惰性载入提高javascript代码执行效率
2014/05/05 Javascript
jQuery 实现侧边浮动导航菜单效果
2014/12/26 Javascript
原生javascript实现简单的datagrid数据表格
2015/01/02 Javascript
浅谈jQuery before和insertBefore的区别
2016/12/04 Javascript
vue实现ajax滚动下拉加载,同时具有loading效果(推荐)
2017/01/11 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
Bootstrap免费字体和图标网站(值得收藏)
2017/03/16 Javascript
Vue实现带进度条的文件拖动上传功能
2018/02/23 Javascript
jQuery阻止事件冒泡实例分析
2018/07/03 jQuery
Vue+Element实现动态生成新表单并添加验证功能
2019/05/23 Javascript
微信小程序使用canvas自适应屏幕画海报并保存图片功能
2019/07/25 Javascript
JS实现简易留言板增删功能
2020/02/08 Javascript
Python 中pandas.read_excel详细介绍
2017/06/23 Python
python将txt文件读取为字典的示例
2018/12/22 Python
python实现抠图给证件照换背景源码
2019/08/20 Python
Python图像识别+KNN求解数独的实现
2020/11/13 Python
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
ALDI奥乐齐官方海外旗舰店:德国百年超市
2017/12/27 全球购物
MAC彩妆英国官网:M·A·C UK
2018/05/30 全球购物
2014年超市员工工作总结
2014/11/18 职场文书
中标通知书格式
2015/04/17 职场文书
2015年机关纠风工作总结
2015/05/15 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书
能用CSS实现的就不要麻烦JavaScript了
2021/10/05 HTML / CSS
Vue h函数的使用详解
2022/02/18 Vue.js
Typescript类型系统FLOW静态检查基本规范
2022/05/25 Javascript