一、介紹
Python是一種高級編程語言,具有簡單、易讀、開放源代碼和跨平台等特性。在Python中,argparse是一個標準庫,用於編寫命令行接口工具,它可以輕鬆地生成命令行界面,有效的解析命令行參數。其中,add_argument()是argparse中最重要的函數之一,它允許您指定所需的參數,驗證輸入並提供幫助信息。
二、基礎用法
add_argument()函數的最低要求是指定一個參數名稱,通常是一個字符串,這個字符串表示要使用的命令行開關。 命令行開關通常是以”-”或”–”開頭的短字符串或長字符串,例如”-h”或”–help”。
示例代碼:
import argparse parser = argparse.ArgumentParser(description='這是一個簡單的例子') parser.add_argument('-u', '--user', help='使用者') parser.add_argument('-p', '--password', help='密碼') args = parser.parse_args() user = args.user password = args.password print(user, password)
在上面的示例代碼中,我們創建了一個ArgumentParser對象。然後,使用add_argument()函數添加兩個參數,以便在命令行中使用。分別為-u和-p,帶有長串的user和password作為輔助標識。最後,通過參數解析對設置的參數進行賦值,並打印出結果。當在命令行中鍵入參數時,可以像下面這樣:
$ python3 test.py -u john -p 12345678
三、添加值約束條件
add_argument()還支持為參數添加值約束條件,以確保用戶試圖傳遞正確的信息。值約束條件可以是類型檢查(如int,float),字符串長度,輸入範圍和正則表達式等。
示例代碼:
import argparse parser = argparse.ArgumentParser(description='這是一個例子') parser.add_argument('file', type=argparse.FileType('r'), help='輸入的文件') parser.add_argument('-m', '--mode', type=str, choices=['grep', 'add'], help='工作模式') parser.add_argument('-s', '--str', type=str, help='字符串') parser.add_argument('-v', '--value', type=int, nargs='+', help='一個或多個值') args = parser.parse_args() file = args.file mode = args.mode value = args.value str = args.str print(file.readline()) if mode == 'add': print(value) elif mode == 'grep': print(str)
在上面的示例代碼中,我們添加了對所添加參數的類型、允許的值和數組類型的約束。這裡的’grep’和’add’是模式參數所允許的選項,args.value使用nargs+代表允許輸入任何數量的整數。
四、組參數
使用組參數,可以將多個參數組合到一個組中,並將組的設置作為統一的限制條件來管理。在使用add_argument()函數時,可以傳遞一個參數,help表示這是一個組。
示例代碼:
import argparse parser = argparse.ArgumentParser(description='這是一個例子') group = parser.add_argument_group('這是組1') group.add_argument('-u', '--user', help='用戶名') group.add_argument('-p', '--password', help='密碼') group2 = parser.add_argument_group('這是組2') group2.add_argument('-n', '--name', help='姓名') group2.add_argument('-a', '--age', help='年齡') args = parser.parse_args() user = args.user password = args.password name = args.name age = args.age print(user, password, name, age)
在上面的示例代碼中,我們創建了第一個組”group1”,包含兩個參數,-u和在命令行中使用長串user作為標識。同時,創建了另一個組”group2”,包含兩個參數,-n和-a,在命令行中使用長串name和age作為樣板。最後通過參數解析拿到user、password、name和age。
五、自定義幫助信息
argparse中自定義幫助信息是非常有用的,因為他們可以更好地描述你的參數的作用。 add_argument()函數有很多的參數,其中之一便是help。通過設置它,可以自定義幫助消息。當然,還有其他設置選項通過which可以自定義幫助消息內容。
示例代碼:
import argparse parser = argparse.ArgumentParser(description='這是一個例子') parser.add_argument('-n', '--name', help='姓名', default='john') parser.add_argument('-a', '--age', help='年齡', type=int, default=18) args = parser.parse_args() print(args.name,args.age)
在上面的代碼中,我們設置了–name和–age參數,以及自定義了他們的幫助消息。在我們獲取參數時,如果沒有傳遞參數,則使用默認值。
六、結語
本文詳細介紹了python add_argument()函數的使用方法。通過本文的闡述,讀者可以掌握如何定義、傳參,以及為參數編寫約束條件。除此之外,本文還介紹了如何使用組,並自定義幫助信息。這些都是argparse模塊中可用的功能。這些功能可以幫助開發人員管理和編寫Python的命令行界面。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/297194.html