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 mysqldb连接数据库
Mar 16 Python
Python 获取新浪微博的最新公共微博实例分享
Jul 03 Python
Python对数据库操作
Mar 28 Python
python列表的增删改查实例代码
Jan 30 Python
用 Python 连接 MySQL 的几种方式详解
Apr 04 Python
解决seaborn在pycharm中绘图不出图的问题
May 24 Python
pandas 对series和dataframe进行排序的实例
Jun 09 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
Nov 07 Python
python实现字典嵌套列表取值
Dec 16 Python
python实现将列表中各个值快速赋值给多个变量
Apr 02 Python
python3 sleep 延时秒 毫秒实例
May 04 Python
Python用Jira库来操作Jira
Dec 28 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 方便水印和缩略图的图形类
2009/05/21 PHP
php中一个完整表单处理实现代码
2011/11/10 PHP
PHP APC缓存配置、使用详解
2014/03/06 PHP
smarty中英文多编码字符截取乱码问题解决方法
2014/10/28 PHP
全新Mac配置PHP开发环境教程
2016/02/03 PHP
总结PHP中数值计算的注意事项
2016/08/14 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
使用javascript过滤html的字符串(注释标记法)
2013/07/08 Javascript
JS实现点击下载的小例子
2013/07/10 Javascript
按下Enter焦点移至下一个控件的实现js代码
2013/12/11 Javascript
javascript中scrollTop详解
2015/04/13 Javascript
png在IE6 下无法透明的解决方法汇总
2015/05/21 Javascript
在Python中使用glob模块查找文件路径的方法
2015/06/17 Javascript
jquery实现鼠标滑过小图查看大图的方法
2015/07/20 Javascript
JS中生成随机数的用法及相关函数
2016/01/09 Javascript
AngularJs  Understanding Angular Templates
2016/09/02 Javascript
Jquery Easyui表单组件Form使用详解(30)
2016/12/19 Javascript
php输出全部gb2312编码内的汉字方法
2017/03/04 Javascript
jQuery中常用动画效果函数知识点整理
2018/08/19 jQuery
微信小程序生成分享海报方法(附带二维码生成)
2019/03/29 Javascript
nodejs搭建本地服务器并访问文件操作示例
2019/05/11 NodeJs
简单了解TypeScript中如何继承 Error 类
2019/06/21 Javascript
[01:28:44]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第一场 1月10日
2021/03/11 DOTA
Python中使用platform模块获取系统信息的用法教程
2016/07/08 Python
django 信号调度机制详解
2019/07/19 Python
Python底层封装实现方法详解
2020/01/22 Python
Python API 操作Hadoop hdfs详解
2020/06/06 Python
HTML 5.1来了 9月份正式发布 更新内容预览
2016/04/26 HTML / CSS
美国婚礼和派对礼品网站:Kate Aspen(新娘送礼会、迎婴派对)
2018/03/28 全球购物
匡威西班牙官网:Converse西班牙
2019/10/01 全球购物
大众服装店创业计划书范文
2014/01/01 职场文书
国庆横幅标语
2014/10/08 职场文书
铁人纪念馆观后感
2015/06/16 职场文书
爱国主题班会教案
2015/08/14 职场文书
2019入党申请书格式
2019/06/25 职场文书
Nginx设置日志打印post请求参数的方法
2021/03/31 Servers