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

文档

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

python argparse库_Python的argparse库使用详解相关推荐

  1. python协程库_python中协程的详解(附示例)

    本篇文章给大家带来的内容是关于python中协程的详解(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 协程,又称微线程,纤程.英文名Coroutine 协程看上去也是子程序 ...

  2. python读yaml的库_Python读取YAML文件过程详解

    这篇文章主要介绍了Python读取YAML文件过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Python读取方法: import yaml ...

  3. python text函数_python可视化text()函数使用详解

    python可视化text()函数使用详解 这篇文章主要介绍了python可视化text()函数使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考 ...

  4. python flask安装_python flask安装和命令详解

    Flask Web开发实战学习笔记 Flask简介 Flask是使用Python编写的Web微框架.Web框架可以让我们不用关 心底层的请求响应处理,更方便高效地编写Web程序.因为Flask核心简 ...

  5. python单例模式解析_Python下简易的单例模式详解

    Python 下的单例模式 要点: 1.某个类只能有一个实例: 2.它必须自行创建这个实例: 3.它必须自行向整个系统提供这个实例 方法:重写new函数 应该考虑的情况: 1.这个单例的类可能继承了别 ...

  6. python清空集合_python集合删除多种方法详解

    这篇文章主要介绍了python集合删除多种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 删除指定的元素 A={'a','c','b','d ...

  7. office是python打开方式_Python读取word文本操作详解

    本文研究的主要问题时Python读取word文本操作,分享了相关概念和实现代码,具体如下. 一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的.也就 ...

  8. python中堆排序_Python实现堆排序的方法详解

    本文实例讲述了Python实现堆排序的方法.分享给大家供大家参考,具体如下: 堆排序作是基本排序方法的一种,类似于合并排序而不像插入排序,它的运行时间为O(nlogn),像插入排序而不像合并排序,它是 ...

  9. 怎么用python统计字数_Python统计字数的思路详解

    这篇文章主要介绍了Python 统计字数的思路详解,文中还给大家提供了不借助第三方模块的解决方法,感兴趣的朋友一起看看吧 问题描述: 用 Python 实现函数 count_words(),该函数输入 ...

  10. python getsize函数_Python getsizeof()和getsize()区分详解

    sys.getsizeof() 获取程序中声明的一个整数,存储在变量中的大小,以字节(byte)为单位 import sys print(sys.getsizeof('')) print(sys.ge ...

最新文章

  1. eeglab教程系列(4)-绘制通道光谱图
  2. 微信小程序中使用圆形倒计时实例
  3. long在C语言中是非法字符吗,C程序设计实践——实验指导
  4. 配置Hibernate二级缓存步骤
  5. php soap调用asp.net webservice
  6. 【小程序案例】支付宝小程序-MQTT模器,IoT设备通过WSS接入阿里云IoT物联网平台...
  7. Spark Row对象入门到熟悉
  8. 《MapReduce: Simplified Data Processing on Large Clusters》译文
  9. 【复试英语】应对考官三招解决尴尬局面!
  10. 中国第一代程序员列传
  11. 外文翻译原文附在后面_外文翻译及外文原文(参考格式).doc
  12. (模电笔记一 By Multisim)单管共射放大电路
  13. 智能视频分析技术及应用扫盲
  14. JS Browser BOM
  15. 微信小程序---评论功能实现
  16. cad转dxf格式文件太大_CAD转DXF怎么转换?教你三种转换方法
  17. Matlab绘制95%置信区间图
  18. P2P金融项目(二)——项目管理
  19. stm32f103rct6使用内部晶振作为时钟源
  20. 适合于初学者—软路由全探索系列(三):探索旁路由/软路由 OpenWrt 系统 PassWall 服务应用

热门文章

  1. C++——Lambda函数
  2. 2021惠阳一中高考成绩查询,惠阳一中实验学校2019高考成绩喜报、本科重本高优上线人数...
  3. 讲一讲什么是 MMAP
  4. NSAttributedString 详解
  5. python中的队列和栈_python的队列和栈
  6. 2022年想成为软件测试工程师,这个学习路线收藏起来
  7. 今天教你用 Python调用两个机器人聊天
  8. 计算机二年级考试word,计算机二年级MSOffice真题.docx
  9. mysql有多少种日志_MySQL到底有多少种日志类型必须我们记住的!
  10. vue连线 插件_vue 插件集合