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中使用matplotlib模块绘制数据图的示例
May 04 Python
浅析python中的分片与截断序列
Aug 09 Python
Python时间获取及转换知识汇总
Jan 11 Python
Python读取Word(.docx)正文信息的方法
Mar 15 Python
解决Python3中的中文字符编码的问题
Jul 18 Python
python获取磁盘号下盘符步骤详解
Jun 19 Python
详解pandas删除缺失数据(pd.dropna()方法)
Jun 25 Python
Python 仅获取响应头, 不获取实体的实例
Aug 21 Python
python numpy中cumsum的用法详解
Oct 17 Python
Python自动化完成tb喵币任务的操作方法
Oct 30 Python
Python 格式化打印json数据方法(展开状态)
Feb 27 Python
如何用用Python将地址标记在地图上
Feb 07 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
php数组函数序列之array_pop() - 删除数组中的最后一个元素
2011/11/07 PHP
php去除HTML标签实例
2013/11/06 PHP
XmlUtils JS操作XML工具类
2009/10/01 Javascript
JQery jstree 大数据量问题解决方法
2010/03/09 Javascript
JavaScript 轻松搞定快捷留言功能 只需一行代码
2010/04/01 Javascript
Node.js中调用mysql存储过程示例
2014/12/20 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
2015/03/24 Javascript
JS+CSS实现仿雅虎另类滑动门切换效果
2015/10/13 Javascript
jquery实现两边飘浮可关闭的对联广告
2015/11/27 Javascript
jQuery动态加载css文件实现方法
2016/06/15 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
2016/06/21 Javascript
原生JS实现的放大镜效果实例代码
2016/10/15 Javascript
JS+HTML5实现的前端购物车功能插件实例【附demo源码下载】
2016/10/17 Javascript
Node学习记录之cluster模块
2017/05/31 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
对vue.js中this.$emit的深入理解
2018/02/23 Javascript
js实现搜索栏效果
2018/11/16 Javascript
有关vue 开发钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案
2020/05/09 Javascript
vue使用video插件vue-video-player的示例
2020/10/03 Javascript
[02:46]2014DOTA2国际邀请赛 选手为你解读比赛MVP充满梦想
2014/07/09 DOTA
详解Tensorflow数据读取有三种方式(next_batch)
2018/02/01 Python
python将txt等文件中的数据读为numpy数组的方法
2018/12/22 Python
python 对类的成员函数开启线程的方法
2019/01/22 Python
浅谈python标准库--functools.partial
2019/03/13 Python
pycharm new project变成灰色的解决方法
2019/06/27 Python
使用jupyter notebook运行python和R的步骤
2020/08/13 Python
香港No.1得奖零食网:香港零食大王
2016/07/22 全球购物
SheIn俄罗斯:时尚女装网上商店
2017/02/28 全球购物
蔻驰西班牙官网:COACH西班牙
2019/01/16 全球购物
什么是索引指示器
2012/08/20 面试题
企业办公室岗位职责
2014/03/12 职场文书
经济信息系毕业生自荐信范文
2014/03/15 职场文书
教师自我剖析材料
2014/09/29 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2015年度信用社工作总结
2015/05/04 职场文书
毕业论文答辩开场白和结束语
2015/05/27 职场文书