Python模块-optparse模块 指定脚本后跟参数

简介

optparse里面包含了几个主要类别:python

OptionParser解析类Option定义类Values解析结果类命令行

OptionParse是入口,实例化OptionParse类时经过option_list指定option定义列表,version做为版本管理,OptionParse默认会添加一个-h/–help的选项,用来打印命令行帮组列表。code

经过add_option方法能够动态的添加一个option,即实例化一个Option类。Option类里面会定义一些属性用来管理各类负责的命令行参数。经过parse_args方法能够解析命令行参数,解析结果保存在一个Values解析类实例中。utf-8

通俗点讲就是能够作一个脚本 指定脚本后跟什么参数和内容,多余的未指定参数也会收集原型

add_option

add_options的原型是string

def add_option(self, args, *kwargs)

在调用add_option时args和kwargs的使用it

1. args类的参数是不带key值的,好比-f, –file 
2. kwargs类是带key的,好比action=”store”

add_option的其余的参数io

action: 验证输入数据类型是否和type 匹配,并将符合要求的这个参数存储到dest变量中。有如下几个属性: 
    store 默认值 
        - store_false 标记而已 配合下边的那个store_true来进行代码的“标记”,辅助流程控制。
    store_true 标记而已
    
type : 指的是对应于参数,如-f,-n等的接下来的那个参数的数据类型,有string,int,float等等

dest : 用于保存临时变量,其值能够做为options的属性进行访问。存储的内容就是如-f,-n 等紧挨着的那个参数内容。

help: 提供用户友好的帮助信息,通常能够用来解释本add_option方法的功能阐述。

示例

模拟运行py脚本 后加参数class

#-*- coding:utf-8 -*-
import optparse                                 #解析命令行命令模块
class ArgvHandler():
    def __init__(self):
        self.test = optparse.OptionParser()
        self.test.add_option("-u","--user",dest="user")
        self.test.add_option("-p", "--passwd", dest="passwd")
        options,args = self.test.parse_args()

        print("您的用户信息:",options,"其它输入参数有:",args)
        print("用户是:", options.user)
        print("密码是:",options.passwd)

ArgvHandler()
F:\python>python optparse_test.py -u root -p 123456 abc efg
您的用户信息: {'user': 'root', 'passwd': '123456'} 其它输入参数有: ['abc', 'efg']
用户是: root
密码是: 123456
相关文章
相关标签/搜索