Python argparse 模組
阿新 • • 發佈:2019-01-08
argparse模組用於從命令列直接讀取引數,簡單用法如下:
[[email protected] ~]$ vim 1.py #!/usr/bin/env python import argparse parser = argparse.ArgumentParser(description="xxxxx", usage="xxxxx") # description="xxxx" :用於描述指令碼的用途,可以為空,會在使用 python 1.py -h 檢視幫助時顯示parser.add_argument('--verbose', '-v', action='store_true', help='verbose mode') # usage="xxxxx" :用於描述引數的用法,如果我們使用沒有自定義的引數,如 python 1.py -a 則會提示這個資訊 args = parser.parse_args() # --versose/-v :新增可用的引數,表明我們可以使用 python 1.py --verbose 或 python 1.py -v# action="store_true" :表示當讀取的引數中出現 --verbose/-v 時,引數字典的verbose鍵對應的值為True if args.verbose: # help="verbose mode":用於描述--verbose引數的用途或意義,會在使用 python 1.py -h 檢視幫助時顯示print "Verbose mode on!" else: print "Verbose mode off!"
[[email protected] ~]$ python 1.py # 如果不加 -v 引數,則 args.verbose 值為 False,返回 "Verbose mode off!" Verbose mode off!
[[email protected] ~]$ python 1.py -v # 如果加上 -v 引數,則 args.verbose 值為 True,返回 "Verbose mode on!" Verbose mode on!
[[email protected] ~]$ python 1.py -h # -h 引數用於檢視幫助資訊,該引數不需要定義,預設就有的 usage: 1.py [-h] [--verbose] your script description optional arguments: -h, --help show this help message and exit --verbose, -v verbose mode
[[email protected] ~]$ python 1.py -a # 如果我們使用沒有自定義的引數,則會提示 usage="xxxxx" 定義的內容 usage: xxxxx
1.py: error: unrecognized arguments: -a