1. 程式人生 > 實用技巧 >Python argparse庫簡單入門

Python argparse庫簡單入門

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()函數了,作用是新增引數,引數型別大體可以分為兩種:

  1. 位置引數:位置固定,不能顛倒順序,並且不能省略。
  2. 可選引數:位置不固定(但是需要在輸入前使用類似關鍵字的東西),可以省略也可以不省略(這個可以在設定裡面自己設定)

位置引數

順序固定,輸入時必須提供相應的引數

示例:

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,表示這個可選引數變成了必須引數