python argparse模块

python argparse 模块的功能是对命令行进行解析,检查命令行是否符合预定义的格式。

使用方法:

1、导入argparse模块   import argparse

2、创建argparse对象   parser = argparse.ArgumentParser()

3、添加命令行相关参数、选项  parser.add_argument("...")

4、解析    parser.parse_args()

例一:(删除指定的zabbix screen)

#!/usr/bin/env python2.7
#coding=utf-8
import sys
import argparse
import zabbixAuth
import zabbixScreen
if __name__ == "__main__":
    #if len(sys.argv) < 2 :
    #    print "usage:",sys.argv[0],"screenName"
    #    sys.exit(1)
    #if sys.argv[1] == "-h" or sys.argv[1] == "--help":
    #    print "usage:",sys.argv[0],"screenName"
    #    sys.exit()
    #以下三行的功能等效于以上的if 语句
    parser = argparse.ArgumentParser()  #创建argparse对象
    parser.add_argument("screenName",help="Specifies the screen name of the is will be deleted")
    parser.parse_args()
    userAuth=zabbixAuth.zabbix_auth()
    token=userAuth.user_login()
    screenObj=zabbixScreen.zabbix_screen()
    screenidList=screenObj.screen_get(token,sys.argv[1])
    if screenidList != None:
        print "screenID:",screenObj.screen_delete(token,screenidList[0]),"delete success"
    else:
        print "The screen:",sys.argv[1],"does not exists"

例二:(创建自定义的zabbix screen)

#!/usr/bin/env python2.7
#coding=utf-8
import sys
import argparse
import zabbixAuth
import zabbixScreen
if __name__ == "__main__":
    #if len(sys.argv) < 4 :
    #    print "usage:",sys.argv[0],"screenName rows columns"
    #    sys.exit(1)
    #if sys.argv[1] == "-h" or sys.argv[1] == "--help":
    #    print "usage:",sys.argv[0],"screenName rows columns"
    #    sys.exit()
    #if sys.argv[2].isdigit()==False or sys.argv[3].isdigit()==False:
    #    print "Note: rows and columns is number"
    #    sys.exit()
    #以上注释的if 语句等效于以下5行
    parser = argparse.ArgumentParser()
    parser.add_argument("screenName",help="Given a string to set the screen name")
    parser.add_argument("rows",help="Given a number to set the lines",type=int)
    parser.add_argument("columns",help="Given a number to set the columns",type=int)
    parser.parse_args()
    if int(sys.argv[3])>3 :
        print "Note: columns must be less than 3"
        sys.exit()
    userAuth=zabbixAuth.zabbix_auth()
    token=userAuth.user_login()
    screenObj=zabbixScreen.zabbix_screen()
    screenidList=screenObj.screen_get(token,sys.argv[1])
    if screenidList != None:
        print "screen already exists"
else:
        print "screnn",sys.argv[1],"create success, screenid is",screenObj.screen_create(token,sys.argv[2],sys.argv[3],sys.argv[1])
时间: 2024-08-11 07:48:29

python argparse模块的相关文章

学习python argparse模块下载安装和使用

Python中argparse模块已经替代以前的optparse模块,常被用来实现命令行参数和选项的解析作用. 位置参数: 从一个最基本的程序开始(它并没有实现什么现实的功能): import argparseparser = argparse.ArgumentParser()parser.parse_args() 下面是运行之后的结果: $ python prog.py$ python prog.py --helpusage: prog.py [-h]optional arguments: 

python argparse模块解析命令行选项简单使用

argparse模块的解析命令行选项简单使用 util.py #!/usr/bin/env python # coding=utf-8 import argparse parser = argparse.ArgumentParser(prog="myprogram ",description="a test of argparse") parser.add_argument("-a",type=int,dest="start"

python学习之argparse模块

这里只给出常见的用法,具体原理和详细说明参考官网的说明文档: 一.简介: argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块.argparse模块的作用是用于解析命令行参数,例如python parseTest.py input.txt output.txt --user=name --port=8080. 二.使用步骤: 1:import argparse 2:parser = argparse.ArgumentParser() 3:par

Python中的argparse模块

argparse是argument(参数)和parser(解析器)的缩写 argparse模块是向.py文件传递参数.如果你想直接运行.py文件,同时向文件中传递参数,就要使用这个模块. 使用这个模块的步骤分以下几步: 1 引入模块 import argparse 2 创建解析对象parser parser = argparse.ArgumentParser() 3 向对象中添加参数 parser.add_argument(name or flag, nargs= , action= ,type

Python模块学习系列(8)----argparse模块

boost库很好的支持C++的命令行解析,能使我们的程序用起来更酷.最近一直想Python里也用上命令行,这样就不用再IDE里修改输入参数了.记得前面介绍过使用os模块也能解析命令行,但是那个比较简单,今天我们介绍的argparse模块是python中专门用来解析命令行的. 首先给大家贴出一段代码及运行结果,让大家有一个直观的感受. <span style="font-size:18px;">#!/usr/bin/env python """

Python的Argparse模块是什么?(未完)

        近日在阅读代码的过程中遇到了Argparse模块,记得前段时间已经看了,可是过了两周现在又忘了, 看来写代码一定要钻研到底搞清楚其中原委才行,本文主要参考Python3.6系列官方文档的Argparse模块的教程. 注意:还有两个模块与Argparse功能相似,getopt和optparse. argparse基于optparse,因此在使用方面非常相似,但是不推荐使用optparse,官方文档更推荐argparse. 1.Argparse的作用 举一个小例子,在Linux系统中

Python 杂记:argparse 模块

简介 Python 标准库中提供了 argparse 模块用于解析命令行参数. 使用它的简单三个步骤: 创建 argparse.ArgumentParser() 对象 调用 add_argument() 方法添加参数配置 调用 parse_args() 方法解析参数 然后,我们就可以通过 parse_args() 方法返回的对象来访问用户传入的命令行参数了. 示例一 示例代码如下: import argparse parser = argparse.ArgumentParser() parser

python命令行解析工具argparse模块【3】

上一节,我们讲解了ArgumentParser对象,这一节我们将学习这个对象的add_argument()方法. add_argument()方法的定义了如何解析一个命令行参数,每个参数都有各自独立的设置参数. 1.name or flags add_argument()必须知道参数是可选的还是必须的位置参数,第一个传递给add_arguments的参数必须是可选参数或者是位置参数,例如,下面是可选参数. >>> parser.add_argument('-f','--foo') 而位置

Python 命令行工具 argparse 模块使用详解

先来介绍一把最基本的用法 import argparse parser = argparse.ArgumentParser() parser.parse_args() 在执行 parse_args() 之前,所有追加到命令行的参数都不会生效,生效了之后的默认情况类似于这样: Reference: https://www.jianshu.com/p/fef2d215b91d  python argparse用法总结 原文地址:https://www.cnblogs.com/piperck/p/84