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实现国外赌场热门游戏Craps(双骰子)
Mar 31 Python
python操作列表的函数使用代码详解
Dec 28 Python
Python编程scoketServer实现多线程同步实例代码
Jan 29 Python
Python+request+unittest实现接口测试框架集成实例
Mar 16 Python
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
Jun 06 Python
python实现复制大量文件功能
Aug 31 Python
python 定义类时,实现内部方法的互相调用
Dec 25 Python
np.dot()函数的用法详解
Jan 17 Python
pytorch 模型的train模式与eval模式实例
Feb 20 Python
pycharm新建Vue项目的方法步骤(图文)
Mar 04 Python
PyTorch在Windows环境搭建的方法步骤
May 12 Python
Pyqt助手安装PyQt5帮助文档过程图解
Nov 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
DC漫画《蝙蝠侠和猫女》图透 猫女怀孕老爷当爹
2020/04/09 欧美动漫
火车头采集器3.0采集图文教程
2007/03/17 PHP
php学习之流程控制实现代码
2011/06/09 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
2015/10/08 PHP
PHP进行批量任务处理不超时的解决方法
2016/07/11 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
php 实现银联商务H5支付的示例代码
2019/10/12 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
PHP执行linux命令6个函数代码实例
2020/11/24 PHP
xmlHTTP实例
2006/10/24 Javascript
js trim函数 去空格函数与正则集锦
2009/11/20 Javascript
基于jquery中children()与find()的区别介绍
2013/04/26 Javascript
Knockout visible绑定使用方法
2013/11/15 Javascript
浅析JavaScript中的隐式类型转换
2013/12/05 Javascript
jquery中交替点击事件的实现代码
2014/02/14 Javascript
javascript检查浏览器是否支持flash的实现代码
2014/08/14 Javascript
JS+CSS实现的经典tab选项卡效果代码
2015/09/16 Javascript
javascript url几种编码方式详解
2016/06/06 Javascript
利用jquery禁止外层滚动条的滚动
2017/01/05 Javascript
AngularJS双向数据绑定原理之$watch、$apply和$digest的应用
2018/01/30 Javascript
vue-cli的工程模板与构建工具详解
2018/09/27 Javascript
微信小程序实现商城倒计时
2020/11/01 Javascript
javascript实现随机抽奖功能
2020/12/30 Javascript
[06:04]DOTA2英雄梦之声Vol19卓尔游侠
2014/06/20 DOTA
[06:16]《DAC最前线》之地区预选赛全面回顾
2015/01/19 DOTA
python画折线图的程序
2018/07/26 Python
Python实现的排列组合、破解密码算法示例
2019/04/12 Python
python海龟绘图之画国旗实例代码
2020/11/11 Python
详解css3中的伪类before和after常见用法
2020/11/17 HTML / CSS
Opodo意大利:欧洲市场上领先的在线旅行社
2019/10/24 全球购物
如何删除一个表里面的重复行
2013/07/13 面试题
高级护理实习生自荐信
2013/09/28 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书
2015年成本会计工作总结
2015/10/14 职场文书
为什么node.js不适合大型项目
2021/04/28 Javascript