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警察与小偷的实现之一客户端与服务端通信实例
Oct 09 Python
Python实现二分查找算法实例
May 26 Python
python socket多线程通讯实例分析(聊天室)
Apr 06 Python
利用Python自动监控网站并发送邮件告警的方法
Aug 24 Python
Python实现树的先序、中序、后序排序算法示例
Jun 23 Python
对Python 文件夹遍历和文件查找的实例讲解
Apr 26 Python
pycharm 激活码及使用方式的详细教程
May 12 Python
Python try except else使用详解
Jan 12 Python
python中PyQuery库用法分享
Jan 15 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
Mar 03 Python
python实现web邮箱扫描的示例(附源码)
Mar 30 Python
Python实现Matplotlib,Seaborn动态数据图
May 06 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
百事可乐也出咖啡了 双倍咖啡因双倍快乐
2021/03/03 咖啡文化
PHP中strtotime函数使用方法详解
2011/11/27 PHP
一个很酷的拖动层的js类,兼容IE及Firefox
2009/06/23 Javascript
LazyLoad 延迟加载(按需加载)
2010/05/31 Javascript
SlideView 图片滑动(扩展/收缩)展示效果
2010/08/01 Javascript
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性
2011/08/28 Javascript
在js(jquery)中获得文本框焦点和失去焦点的方法
2012/12/04 Javascript
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
js和css写一个可以自动隐藏的悬浮框
2014/03/05 Javascript
javascript:void(0)的问题使用探讨
2014/04/10 Javascript
javascript强制点击广告的方法
2015/02/06 Javascript
JavaScript检测字符串中是否含有html标签实现方法
2015/07/01 Javascript
javascript简单实现类似QQ头像弹出效果的方法
2015/08/03 Javascript
node.js中debug模块的简单介绍与使用
2017/04/25 Javascript
angularjs+bootstrap实现自定义分页的实例代码
2017/06/19 Javascript
Vue-cli中为单独页面设置背景色的实现方法
2018/02/11 Javascript
简述vue路由打开一个新的窗口的方法
2018/11/29 Javascript
利用Angular2的Observables实现交互控制的方法
2018/12/27 Javascript
如何阻止小程序遮罩层下方图层滚动
2019/09/05 Javascript
JS删除数组指定值常用方法详解
2020/06/04 Javascript
python二叉树遍历的实现方法
2013/11/21 Python
python调用系统ffmpeg实现视频截图、http发送
2018/03/06 Python
python使用jieba实现中文分词去停用词方法示例
2018/03/11 Python
Python函数装饰器实现方法详解
2018/12/22 Python
Python通用函数实现数组计算的方法
2019/06/13 Python
python 实现方阵的对角线遍历示例
2019/11/29 Python
Oakley官网:运动太阳镜、雪镜和服装
2016/09/30 全球购物
施工人员岗位职责
2013/12/12 职场文书
计算机专业毕业生自荐信范文
2014/03/06 职场文书
土地转让协议书
2014/04/15 职场文书
环保建议书400字
2014/05/14 职场文书
2015暑期爱心支教策划书
2015/07/14 职场文书
交通安全学习心得体会
2016/01/18 职场文书
Java实现多线程聊天室
2021/06/26 Java/Android
关于python爬虫应用urllib库作用分析
2021/09/04 Python
分享Python获取本机IP地址的几种方法
2022/03/17 Python