1. 程式人生 > >python-argparse命令列選項與引數解析

python-argparse命令列選項與引數解析

  • 設定一個解析器
    使用argparse的第一步就是建立一個解析器物件,並告訴它將會有些什麼引數。那麼當你的程式執行時,該解析器就可以用於處理命令列引數。
    解析器類是 ArgumentParser 。構造方法接收幾個引數來設定用於程式幫助文字的描述資訊以及其他全域性的行為或設定。
import argparse
parser = argparse.ArgumentParser(description='This is a PyMOTW sample program')
  • 定義引數
    argparse是一個全面的引數處理庫。引數可以觸發不同的動作,動作由 add_argument() 方法的 action 引數指定。 支援的動作包括儲存引數(逐個地,或者作為列表的一部分),當解析到某引數時儲存一個常量值(包括對布林開關真/假值的特殊處理),統計某個引數出現的次數,以及呼叫一個回撥函式。預設的動作是儲存引數值。在這種情況下,如果提供一個型別,那麼在儲存之前會先把該引數值轉換成該型別。如果提供 dest 引數,引數值就儲存為命令列引數解析時返回的名稱空間物件中名為該 dest 引數值的一個屬性。

  • 解析一個命令列
    定義了所有引數之後,你就可以給 parse_args() 傳遞一組引數字串來解析命令列。預設情況下,引數是從 sys.argv[1:] 中獲取,但你也可以傳遞自己的引數列表。選項是使用GNU/POSIX語法來處理的,所以在序列中選項和引數值可以混合。parse_args() 的返回值是一個名稱空間,包含傳遞給命令的引數。該物件將引數儲存其屬性,因此如果你的引數 dest 是 "myoption",那麼你就可以args.myoption 來訪問該值。