python的引數解析argparse模組的學習
阿新 • • 發佈:2019-01-01
add_argument()函式
ArgumentParser.add_argument(name or flags[, action][, nargs][, const][, default][, type][,choices][, required][, help][, metavar ][, dest])
- name or flags:Either a name or a list option strings,e.g. foo or -f,–foo.
- action:命令列有此引數的時候 應該採取的操作
- nargs:使用命令列引數的數量
- const:操作和標記選擇所需要的常量
- default:如果空缺引數時產生的值
- type:命令列值應該轉換的型別
- choices:引數允許值的容器
- required:是否可以省略引數
- help:對引數的簡短的描述
- metavar:變數在使用上下文中的名字
- dest:新增到parse_args()返回的物件中的屬性的名稱。
引數的型別
- 位置引數 :像檔名列表一樣
parser.add_argument(’ bar '),不需要指明引數變數名字。(類似於函式的位置引數和可選引數一樣) - 可選擇引數 :-f 或者 --f
parser.add_argument(’ -f ')
在傳遞引數時,需要明示的寫出引數的名字,比如 -f FOO。結果就是將f = 'FOO'
action
ArgumentParser物件會將一個命令列的引數與一個動作繫結。這些動作可以做任何事情,儘管大多數的動作只是向parse_args()返回的物件新增一個屬性。
提供的引數如下:
- store
儲存引數的變數值,這個是預設的動作,比如:
parser = argparse.ArgumentParser()
parser.add_argument('--foo')
parser.parser_args('--foo 1'.split())
輸出結果:Namesapce(foo= ‘1’)
- store_const
儲存由const指定的關鍵字。
parser = argparse..ArgumentParser()
parser.add_argument('--foo',action ='store_const',const = 42)
parser.parse_args(['--foo'])
輸出結果:Namesapce(foo= 42)
- store_true & store_false
儲存bool型別的值:True 或者 False
parser = argparse.ArgumentParser() parser.add_argument('--foo', action='store_true')
parser.add_argument('--bar', action='store_false')
parser.add_argument('--baz', action='store_false')
parser.parse_args('--foo --bar'.split())
Namespace(foo=True, bar=False, baz=True)
- append
- append_const
- count
- help
- version