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 CSV模块使用实例
Apr 09 Python
python多进程共享变量
Apr 06 Python
python通过zabbix api获取主机
Sep 17 Python
解决webdriver.Chrome()报错:Message:'chromedriver' executable needs to be in Path
Jun 12 Python
Python qqbot 实现qq机器人的示例代码
Jul 11 Python
Python实现自动访问网页的例子
Feb 21 Python
Python Tkinter图形工具使用方法及实例解析
Jun 15 Python
python中sys模块是做什么用的
Aug 16 Python
使用python对excel表格处理的一些小功能
Jan 25 Python
python编写五子棋游戏
May 25 Python
python脚本框架webpy的url映射详解
Nov 20 Python
Python+Selenium实现读取网易邮箱验证码
Mar 13 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实现将多个文件压缩成zip格式并下载到本地的方法示例
2018/05/23 PHP
php微信开发之图片回复功能
2018/06/14 PHP
sina的lightbox效果。
2007/01/09 Javascript
JavaScript表单常用验证集合
2008/01/16 Javascript
window.location.hash 属性使用说明
2010/03/20 Javascript
深入领悟JavaScript中的面向对象
2013/11/18 Javascript
js解析json读取List中的实体对象示例
2014/03/11 Javascript
如何让浏览器支持jquery ajax load 前进、后退功能
2014/06/12 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
2015/12/12 Javascript
JavaScript Math.round() 方法
2015/12/18 Javascript
AngularJS深入探讨scope,继承结构,事件系统和生命周期
2016/11/02 Javascript
jQuery.cookie.js实现记录最近浏览过的商品功能示例
2017/01/23 Javascript
基于 Bootstrap Datetimepicker 联动
2017/08/03 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
2018/01/25 Javascript
使用json-server简单完成CRUD模拟后台数据的方法
2018/07/12 Javascript
vue添加axios,并且指定baseurl的方法
2018/09/19 Javascript
vue项目中将element-ui table表格写成组件的实现代码
2019/06/12 Javascript
JS实现点击生成UUID的方法完整实例【基于jQuery】
2019/06/12 jQuery
vue之延时刷新实例
2019/11/14 Javascript
让 python 命令行也可以自动补全
2014/11/30 Python
pygame学习笔记(6):完成一个简单的游戏
2015/04/15 Python
对pyqt5之menu和action的使用详解
2019/06/20 Python
在PyTorch中Tensor的查找和筛选例子
2019/08/18 Python
python-tornado的接口用swagger进行包装的实例
2019/08/29 Python
python中with用法讲解
2020/02/07 Python
Python同时处理多个异常的方法
2020/07/28 Python
css3实现垂直下拉动画菜单示例
2014/04/22 HTML / CSS
美国知名保健品网站:LuckyVitamin(支持中文)
2017/08/09 全球购物
智能钱包:Ekster
2019/11/21 全球购物
应届生护士求职信
2013/11/01 职场文书
大学校园活动策划书
2014/02/04 职场文书
2014庆六一活动方案
2014/03/02 职场文书
竞选学习委员演讲稿
2014/04/28 职场文书
主要领导对照检查材料
2014/08/26 职场文书
导游词之无锡梅园
2019/11/28 职场文书
Go语言编译原理之变量捕获
2022/08/05 Golang