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编写一个国际象棋AI程序
Nov 28 Python
Python的Flask框架中实现简单的登录功能的教程
Apr 20 Python
python 列表删除所有指定元素的方法
Apr 19 Python
将python代码和注释分离的方法
Apr 21 Python
对Python3 * 和 ** 运算符详解
Feb 16 Python
Python标准库shutil模块使用方法解析
Mar 10 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
Mar 14 Python
Python迭代器Iterable判断方法解析
Mar 16 Python
Python字符串split及rsplit方法原理详解
Jun 29 Python
python利用线程实现多任务
Sep 18 Python
python中用ctypes模拟点击的实例讲解
Nov 26 Python
python 中的jieba分词库
Nov 23 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技术开发技巧分享
2010/03/23 PHP
ThinkPHP进程计数类Process用法实例详解
2015/09/25 PHP
json数据的列循环示例
2013/09/06 Javascript
jQuery制作可自定义大小的拼图游戏
2015/03/30 Javascript
优化RequireJS项目的相关技巧总结
2015/07/01 Javascript
基于JavaScript实现一定时间后去执行一个函数
2015/12/14 Javascript
javascript数组去重小结
2016/03/07 Javascript
基于javascript实现页面加载loading效果
2020/09/15 Javascript
Bootstrap CSS布局之图像
2016/12/17 Javascript
jQuery超简单遮罩层实现方法示例
2018/09/06 jQuery
vue实现重置表单信息为空的方法
2018/09/29 Javascript
JavaScript中的事件与异常捕获详析
2019/02/24 Javascript
微信小程序实现的绘制table表格功能示例
2019/04/26 Javascript
HTML+JavaScript实现扫雷小游戏
2019/09/30 Javascript
40行代码把Vue3的响应式集成进React做状态管理
2020/05/20 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
2020/09/21 Javascript
vue使用keep-alive实现组件切换时保存原组件数据方法
2020/10/30 Javascript
[50:28]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs KG
2018/04/01 DOTA
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
对python 合并 累加两个dict的实例详解
2019/01/21 Python
python装饰器相当于函数的调用方式
2019/12/27 Python
Python使用sqlite3模块内置数据库
2020/05/07 Python
Python利用Xpath选择器爬取京东网商品信息
2020/06/01 Python
Python使用文件操作实现一个XX信息管理系统的示例
2020/07/02 Python
html5+css3之制作header实例与更新
2020/12/21 HTML / CSS
西班牙国家航空官方网站:Iberia
2017/11/16 全球购物
Stella McCartney官网:成衣、包袋、香水、内衣、童装及Adidas系列
2018/12/20 全球购物
Javascript如何发送一个Ajax请求
2015/01/26 面试题
财务分析个人的自荐书范文
2013/11/24 职场文书
运动会开幕式解说词
2014/02/05 职场文书
财产公证书
2014/04/10 职场文书
结婚保证书范文
2014/04/29 职场文书
2015年预算员工作总结
2015/05/14 职场文书
迎新生晚会主持词
2015/06/30 职场文书
喜迎建国70周年:有关爱国的名言名句
2019/09/24 职场文书
sqlserver连接错误之SQL评估期已过的问题解决
2022/03/23 SQL Server