一、介绍

argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块。argparse模块的作用是用于解析命令行参数。

我们很多时候,需要用到解析命令行参数的程序。

二、使用步骤

我们常常可以把argparse的使用简化成下面四个步骤

1:import argparse

2:parser = argparse.ArgumentParser()

3:parser.add_argument()

4:parser.parse_args()

上面四个步骤解释如下:首先导入该模块;然后创建一个解析对象;然后向该对象中添加你要关注的命令行参数和选项,每一个add_argument方法对应一个你要关注的参数或选项;最后调用parse_args()方法进行解析;解析成功之后即可使用。

三、例子讲解

下面我们通过一个例子来进行讲解说明

我们可以看到上面的第二个步骤,parser = argparse.ArgumentParser()

它的作用就是:当调用parser.print_help()或者运行程序时由于参数不正确(此时python解释器其实也是调用了pring_help()方法)时,会打印这些描述信息,一般只需要传递description参数。

下面会有例子输出,首先给出代码:

#-*- coding: UTF-8 -*-

import argparse #步骤一

def parse_args():

""":return:进行参数的解析"""

description = "you should add those parameter" # 步骤二

parser = argparse.ArgumentParser(description=description) # 这些参数都有默认值,当调用parser.print_help()或者运行程序时由于参数不正确(此时python解释器其实也是调用了pring_help()方法)时,

# 会打印这些描述信息,一般只需要传递description参数,如上。

help = "The path of address"

parser.add_argument('--addresses',help = help) # 步骤三,后面的help是我的描述

args = parser.parse_args() # 步骤四

return args

if __name__ == '__main__':

args = parse_args()

print(args.addresses) #直接这么获取即可。

上面四个步骤已经分别对应上了,当我们在命令行敲入:

python arg.py -h

输出提示为:

如何获得命令参数值。

我们可以直接通过args.addresses获得它的参数值。

当我们敲入python arg.py --addresses this-is-parameter-of-addresses 命令时

会输出this-is-parameter-of-addresses

到这里就总结了argparse模块常见的一些常见的用法。

参考:

http://blog.xiayf.cn/2013/03/30/argparse/

python argparse模块详解_python学习之argparse模块相关推荐

  1. python中configparser详解_Python中的ConfigParser模块使用详解

    1.基本的读取配置文件 -read(filename) 直接读取ini文件内容 -sections() 得到所有的section,并以列表的形式返回 -options(section) 得到该sect ...

  2. python atm作业详解_Python学习day5作业-ATM和购物商城

    Python学习day5作业 Python学习day5作业 ATM和购物商城 作业需求 ATM:指定最大透支额度 可取款 定期还款(每月指定日期还款,如15号) 可存款 定期出账单 支持多用户登陆,用 ...

  3. python nmap模块详解_python中的Nmap模块问题

    我已经安装了nmap.exe文件以及nmap模块.但我不确定如何配置nmap路径. 输入nmap路径的代码块如下所示class PortScanner(object): ""&qu ...

  4. python之struct详解_Python学习之struct

    准确地讲,Python没有专门处理字节的数据类型.但由于str既是字符串,又可以表示字节,所以,字节数组=str.而在C语言中,我们可以很方便地用struct.union来处理字节,以及字节和int, ...

  5. 吃透Chisel语言.15.Chisel模块详解(二)——Chisel模块嵌套和ALU实现

    Chisel模块详解(二)--Chisel模块嵌套和ALU实现 稍微复杂点的硬件设计就需要用嵌套的模块层级来构建了,上一篇文章中实现的计数器其实就是个例子,计数器内部嵌套了一个寄存器.一个Mux和一个 ...

  6. python中logging模块详解_python logging日志模块详解

    logging 日志模块详解 用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这 ...

  7. python协程详解_python协程详解

    原博文 2019-10-25 10:07 − # python协程详解 ![python协程详解](https://pic2.zhimg.com/50/v2-9f3e2152b616e89fbad86 ...

  8. python argparse模块详解_python中argparse模块用法实例详解

    本文实例讲述了python中argparse模块用法.分享给大家供大家参考.具体分析如下: 平常在写命令行工具的时候,经常会带参数,所以用python中的argparse来实现. # -*- codi ...

  9. python pexpect模块详解_python pexpect原理详解及使用说明

    pexpect是python中用于实现SSH,FTP,telnet等命令进行自动化交互,从而无需人工干预实现自动化运维的一个第三方扩展模块.理论的描述过于抽象,这里首先设想一下,如果让您设计一个实现自 ...

最新文章

  1. python对话框代码_Python、tkinter、复杂对话框和代码结构
  2. ahjesus 创建msdn一样的帮助文档
  3. python装饰器性能_python装饰器的特性原理详解
  4. Codeforces Round #379 (Div. 2) A. Anton and Danik 水题
  5. hash签名 java_java开发区块链只需150行代码
  6. HDU4508 完全背包
  7. 英国云主机节点是欧美五大节点之一
  8. php数据库 datetime转化时间错,分析php日期转时间戳
  9. 12-ubuntu:010 Editor
  10. 如何给电脑版QQ、微信、爱奇艺设置代理
  11. WP-CONTENT/UPLOADS的777,775,744,644,444文件权限设置
  12. 基于51单片机的篮球赛计时计分器(仿真+源程序+原理图+PCB+论文)
  13. android 绑定布局,android – 在数据绑定中设置动态布局高度
  14. Unity 进阶 之 实现简单的音频可视化封装(包括音频和麦克风)
  15. java生成pdf文件乱码问题解决
  16. 不蒜子实现网站访问量访客数统计
  17. jstree使用教程
  18. MTP 模式 pc端文件和文件管理其中的不同步
  19. fluent支持python吗_Python与Fluent联合仿真设置
  20. 华为新系统鸿蒙何时亮相,终于!华为鸿蒙系统正式发布,P50亮相

热门文章

  1. 3.非关系型数据库(Nosql)之mongodb:升降序排序,排序分页,$all,$in,$nin,$or,$nor, $exists,游标,更新(update,$set,$unset,$inc)
  2. C++中的结构体,C管理进程代码,C++管理进程代码,C语言中的联合体
  3. PrintWriter和ServletOutputStream的区别
  4. Python 模型持久化
  5. 极度随机树ExtraTreesClassifier
  6. oracle ha节点,oracle linux ha配置
  7. 算法简介、7种算法分类
  8. Golang源码探索(一) 编译和调试源码
  9. Nginx基础入门之nginx基础配置项介绍(2)
  10. python中fork创建新的进程