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
相關文章
相關標籤/搜索