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访问sqlserver示例
Feb 10 Python
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
Apr 23 Python
Python使用分布式锁的代码演示示例
Jul 30 Python
python: 判断tuple、list、dict是否为空的方法
Oct 22 Python
Python 加密与解密小结
Dec 06 Python
Python3远程监控程序的实现方法
Jul 15 Python
python3实现高效的端口扫描
Aug 31 Python
windows 10 设定计划任务自动执行 python 脚本的方法
Sep 11 Python
win10系统下python3安装及pip换源和使用教程
Jan 06 Python
解决springboot yml配置 logging.level 报错问题
Feb 21 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
Mar 18 Python
Python如何获取文件路径/目录
Sep 22 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
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
php学习笔记 面向对象的构造与析构方法
2011/06/13 PHP
ThinkPHP中自定义目录结构的设置方法
2014/08/15 PHP
PHP PDO fetch 模式各种参数的输出结果一览
2015/01/07 PHP
golang与php实现计算两个经纬度之间距离的方法
2016/07/22 PHP
PHP 将dataurl转成图片image方法总结
2016/10/14 PHP
PHP判断函数是否被定义的方法
2019/06/21 PHP
Jquery操作js数组及对象示例代码
2014/05/11 Javascript
javascript引用赋值(地址传值)用法实例
2015/01/13 Javascript
javascript制作网页图片上实现下雨效果
2015/02/26 Javascript
JSON字符串和对象之间的转换详解
2015/05/26 Javascript
JQuery遍历DOM节点的方法
2015/06/11 Javascript
js实现兼容IE、Firefox的图片缩放代码
2015/12/08 Javascript
详解项目升级到vue-cli3的正确姿势
2019/01/28 Javascript
微信小程序实现多个按钮的颜色状态转换
2019/02/15 Javascript
详释JavaScript执行环境与执行栈
2019/04/02 Javascript
Vue使用富文本编辑器Vue-Quill-Editor(含图片自定义上传服务、清除复制粘贴样式等)
2020/05/15 Javascript
Vue.js中使用Vuex实现组件数据共享案例
2020/07/31 Javascript
Vue+Spring Boot简单用户登录(附Demo)
2020/11/12 Javascript
Python抓取京东图书评论数据
2014/08/31 Python
Python http接口自动化测试框架实现方法示例
2018/12/06 Python
python暴力解压rar加密文件过程详解
2019/07/05 Python
使用pandas读取文件的实现
2019/07/31 Python
在Python中使用turtle绘制多个同心圆示例
2019/11/23 Python
Django数据结果集序列化并展示实现过程
2020/04/22 Python
Python eval函数介绍及用法
2020/11/09 Python
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
2018/09/19 HTML / CSS
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
2013的个人自我评价
2013/12/26 职场文书
2014年元旦联欢会活动策划方案
2014/02/16 职场文书
茶楼服务员岗位职责
2015/02/09 职场文书
拖欠货款起诉状
2015/05/20 职场文书
对领导班子的意见和建议
2015/06/08 职场文书
《家》读后感:万惜拯救,冷暖自知
2019/09/25 职场文书
js前端设计模式优化50%表单校验代码示例
2022/06/21 Javascript