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 ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
Jun 10 Python
python爬取哈尔滨天气信息
Jul 14 Python
django使用LDAP验证的方法示例
Dec 10 Python
基于python的ini配置文件操作工具类
Apr 24 Python
解决python xx.py文件点击完之后一闪而过的问题
Jun 24 Python
Python socket模块ftp传输文件过程解析
Nov 05 Python
python 爬虫 实现增量去重和定时爬取实例
Feb 28 Python
如何理解Python中的变量
Jun 01 Python
基于Keras的格式化输出Loss实现方式
Jun 17 Python
超级实用的8个Python列表技巧
Aug 24 Python
Python如何使用ConfigParser读取配置文件
Nov 12 Python
Python进度条的使用
May 17 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+jquery编码方面的一些心得(utf-8 gb2312)
2010/10/12 PHP
微信API接口大全
2015/04/15 PHP
Discuz! 6.1_jQuery兼容问题
2008/09/23 Javascript
一个JS小玩意 几个属性相加不能超过一个特定值.
2009/09/29 Javascript
jQuery 处理表单元素的代码
2010/02/15 Javascript
javascript获取URL参数与参数值的示例代码
2013/12/20 Javascript
iframe如何动态创建及释放其所占内存
2014/09/03 Javascript
javascript实现按回车键切换焦点
2015/02/09 Javascript
JavaScript重定向URL参数的两种方法小结
2016/10/19 Javascript
微信小程序 数据遍历的实现
2017/04/05 Javascript
为你的微信小程序体积瘦身详解
2017/05/20 Javascript
JS中的Replace()传入函数时的用法详解
2017/09/11 Javascript
浅谈 Vue 项目优化的方法
2017/12/16 Javascript
nodejs基于WS模块实现WebSocket聊天功能的方法
2018/01/12 NodeJs
Vue2.0仿饿了么webapp单页面应用详细步骤
2018/07/08 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
extract-text-webpack-plugin用法详解
2019/02/14 Javascript
vue中的双向数据绑定原理与常见操作技巧详解
2020/03/16 Javascript
微信小程序实现滚动Tab选项卡
2020/11/16 Javascript
快速解决vue2+vue-cli3项目ie兼容的问题
2020/11/17 Vue.js
vue实现可移动的悬浮按钮
2021/03/04 Vue.js
[02:07]DOTA2超级联赛专访BBC:难忘网吧超神经历
2013/06/09 DOTA
Python中__new__与__init__方法的区别详解
2015/05/04 Python
Python3 socket同步通信简单示例
2017/06/07 Python
python matlibplot绘制多条曲线图
2021/02/19 Python
详解Python打包分发工具setuptools
2019/08/05 Python
Python之指数与E记法的区别详解
2019/11/21 Python
Python pymysql模块安装并操作过程解析
2020/10/13 Python
BISSELL官网:北美吸尘器第一品牌
2019/03/14 全球购物
德国在线购买葡萄酒网站:Geile Weine
2019/09/24 全球购物
应届毕业生就业自荐信
2013/10/26 职场文书
高中生家长寄语大全
2014/04/03 职场文书
毕业生求职自荐信(2016最新版)
2016/01/28 职场文书
天谕手游15杯全调酒配方和调酒券的获得方式
2022/04/06 其他游戏
JS前端监控采集用户行为的N种姿势
2022/07/23 Javascript