Python argparse庫簡單入門
阿新 • • 發佈:2020-07-18
Python argparse庫簡單入門
資料參參考
知乎:https://zhuanlan.zhihu.com/p/138294710 比較全面
知乎:https://zhuanlan.zhihu.com/p/56922793 比較簡潔
argparse庫簡單介紹
argparse 是 Python 的一個庫,用於為程式提供命令列介面。使得程式設計師關注於介面功能的實現,而不用去關注於使用者的輸入的命令是否正確。
大體的流程是:
import argparse # 匯入庫 建立parser物件 向parser中新增引數 執行物件中的parse_args()函式,相當於獲得一個完整的命令列直譯器物件,執行完 .parse_args() 後,會得到一個 Namespace object,裡面包含了從命令列中接收到的引數資訊。
庫中具體的函式介紹
parser庫的主要函式就是.add_argument()
函數了,作用是新增引數,引數型別大體可以分為兩種:
- 位置引數:位置固定,不能顛倒順序,並且不能省略。
- 可選引數:位置不固定(但是需要在輸入前使用類似關鍵字的東西),可以省略也可以不省略(這個可以在設定裡面自己設定)
位置引數
順序固定,輸入時必須提供相應的引數
示例:
import argparse parser = argparse.ArgumentParser(description = 'test') parser.add_argument('arg1', type = int , help = '第一個位置引數,引數型別為int') parser.add_argument('arg2', type = str, help='第二個引數') args = parser.parse_args() print(vars(args))
使用下面的程式碼來執行上面的程式,假設儲存上面程式碼的檔名為test123.py
python test23.py 123 hello
輸出如下:
{‘arg1':123, 'arg2':'hello'}
可選引數
順序不定,使用類似關鍵字的形式來輸入引數。
例如:
檔名:test123
import argparse parser = argparse.ArgumentParser(description= 'test2') parser.add_argument('-a', '--apple', type=int, default=10) parser.add_argument('-s', type=str, help='this is a string') args = parser.parse_args() print(vars(args))
執行上面的程式
python -a 12 -s hello
輸出
{'apple':12, 's':'hello'}
在add_argument()
中新增required = True
,表示這個可選引數變成了必須引數。