Python的argparse库使用详解


Posted in Python onOctober 09, 2018

argparse是python标准库里面用来处理命令行参数的库

命令行参数分为位置参数和选项参数:

位置参数就是程序根据该参数出现的位置来确定的

如:[root@openstack_1 /]# ls root/    #其中root/是位置参数

选项参数是应用程序已经提前定义好的参数,不是随意指定的

如:[root@openstack_1 /]# ls -l    # -l 就是ls命令里的一个选项参数、

基本使用

import argparse

# 创建解析器
parser = argparse.ArgumentParser(description = 'This is a test')
parser.parse_args()

可以在shell中测试:

$ python test.py --help
...

添加参数

import argparse

parser = argparse.ArgumentParser(description = 'This is a test')
parser.add_argument("-p","--port",help='increase output port') # 定义了可选参数-p和--port,赋值后,其值保存在args.port中(其值都是保存在最后一个定义的参数中)
args = parser.parse_args()
print(args.echo)

argparse.ArgumentParser()方法参数须知:一般我们只选择用description

          prog=None     - 程序名

          description=None,    - help时显示的开始文字

           epilog=None,     - help时显示的结尾文字

          parents=[],        -若与其他参数的一些内容一样,可以继承

          formatter_class=argparse.HelpFormatter,     - 自定义帮助信息的格式

          prefix_chars='-',    - 命令的前缀,默认是‘-'

          fromfile_prefix_chars=None,     - 命令行参数从文件中读取

          argument_default=None,    - 设置一个全局的选项缺省值,一般每个选项单独设置

          conflict_handler='error',     - 定义两个add_argument中添加的选项名字发生冲突时怎么处理,默认处理是抛出异常

          add_help=True    - 是否增加-h/--help选项,默认是True)

add_argument()方法参数须知:

    name or flags...    - 必选,指定参数的形式,一般写两个,一个短参数,一个长参数

使用时候:

$ python test.py -p 50
或
$ python test.py --port 50

指定类型

我们也可以在添加参数的时候指定其类型。

import argparse

parser = argparse.ArgumentParser(description = 'This is a test')
parser.add_argument("square",help="display a given number",type=int) # 指定给square的参数为int类型

可选参数

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-v", help="increase output verbosity")
args = parser.parse_args()
if args.v:
  print("v turned on")

使用:

$ python test.py -v any

文档

更多应用请百度或者查文档:https://docs.python.org/3/library/argparse.html#module-argparse

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python删除文件示例分享
Jan 28 Python
10款最好的Web开发的 Python 框架
Mar 18 Python
基于python实现微信模板消息
Dec 21 Python
很酷的python表白工具 你喜欢我吗
Apr 11 Python
Python3.5内置模块之random模块用法实例分析
Apr 26 Python
Python-copy()与deepcopy()区别详解
Jul 12 Python
Django外键(ForeignKey)操作以及related_name的作用详解
Jul 29 Python
pycharm修改file type方式
Nov 19 Python
Pytorch的mean和std调查实例
Jan 02 Python
如何理解Python中的变量
Jun 01 Python
Python数据可视化图实现过程详解
Jun 12 Python
pycharm配置QtDesigner的超详细方法
Jan 25 Python
详解Python3中的迭代器和生成器及其区别
Oct 09 #Python
不知道这5种下划线的含义,你就不算真的会Python!
Oct 09 #Python
详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击
Oct 09 #Python
详解如何将python3.6软件的py文件打包成exe程序
Oct 09 #Python
让代码变得更易维护的7个Python库
Oct 09 #Python
windows下cx_Freeze生成Python可执行程序的详细步骤
Oct 09 #Python
Python打包方法Pyinstaller的使用
Oct 09 #Python
You might like
环境会对咖啡种植有什么影响
2021/03/03 咖啡文化
php按百分比生成缩略图的代码分享
2014/05/10 PHP
ThinkPHP采用原生query实现关联查询left join实例
2014/12/02 PHP
php使用wordwrap格式化文本段落的方法
2015/03/17 PHP
php将字符串随机分割成不同长度数组的方法
2015/06/01 PHP
JavaScript面向对象编程
2008/03/02 Javascript
jQuery中delegate与on的用法与区别示例介绍
2013/12/20 Javascript
jquery鼠标放上去显示悬浮层即弹出定位的div层
2014/04/25 Javascript
Jquery 实现table样式的设定
2015/01/28 Javascript
javascript动态添加checkbox复选框的方法
2015/12/23 Javascript
理解javascript对象继承
2016/04/17 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
2016/09/14 Javascript
JS仿Base.js实现的继承示例
2017/04/07 Javascript
jquery实现提示语淡入效果
2017/05/05 jQuery
详细讲解vue2+vuex+axios
2017/05/27 Javascript
jquery中有哪些api jQuery主要API
2017/11/20 jQuery
关于HTML5的data-*自定义属性的总结
2018/05/05 Javascript
Vue中保存数据到磁盘文件的方法
2018/09/06 Javascript
详解微信小程序开发聊天室—实时聊天,支持图片预览
2019/05/20 Javascript
javascript实现自由编辑图片代码详解
2019/06/21 Javascript
vue路由 遍历生成复数router-link的例子
2019/10/30 Javascript
Vue列表循环从指定下标开始的多种解决方案
2020/04/08 Javascript
js和jquery判断数据类型的4种方法总结
2020/08/28 jQuery
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
Unicode和Python的中文处理
2017/03/19 Python
浅谈pandas dataframe对除数是零的处理
2020/07/20 Python
python遍历路径破解表单的示例
2020/11/21 Python
Herschel美国官网:背包、手提袋及配件
2020/03/10 全球购物
Python面试题集
2012/03/08 面试题
《哪吒闹海》教学反思
2014/02/28 职场文书
建筑安全员岗位职责
2014/03/13 职场文书
蓝颜请假条
2014/04/11 职场文书
产品包装策划方案
2014/05/18 职场文书
2014年教育工作总结
2014/11/26 职场文书
个人总结与自我评价
2015/02/14 职场文书
golang 实现菜单树的生成方式
2021/04/28 Golang