Python如何使用argparse模塊處理命令行參數(shù)
這篇文章主要介紹了Python如何使用argparse模塊處理命令行參數(shù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
介紹
argparse是python3標準庫里用來處理命令行參數(shù)的模塊
使用三步走:
- 創(chuàng)建 ArgumentParser() 對象
- 調(diào)用 add_argument() 方法添加參數(shù)
- 使用 parse_args() 解析添加的參數(shù)
實例
我們先來創(chuàng)建一個python文件
vim test.py
然后開始在輸入模式(i)下輸入代碼
import argparse # 導入模塊
parser = argparse.ArgumentParser() # 創(chuàng)建一個對象
parser.add_argument("square", help="pls enter a num", type=int) # 增加一個叫square的參數(shù),類型必須是int
parser.add_argument("input_str", help="pls enter a string", type=str) # 增加一個叫input_str的參數(shù),類型必須是str
args = parser.parse_args() # 解析
print(args.square ** 2)
print(args.input_str)
然后,讓我們來運行一下
python test.py 3 "I am a string!" # 結果是: # 9 # I am a string!
如果要查看文件的參數(shù)信息
python test.py -h
如果要設定可選參數(shù)
parser = argparse.ArgumentParser()
parser.add_argument("--argument1", “-arg1”, help="display the first argument", type=int) # 參數(shù)名前加--,取別名為-arg1
parser.add_argument("--argument2", choices=[5,10,20], help="display the second argument", type=int) # choices 為限定候選列表
args = parser.parse_args()
print(args)
if args.argument1 and args.argument2:
print(args.argument1 + args.argument2)
執(zhí)行一下
python test.py # Namespace(argument1=None, argument2=None) python test.py -arg1 3 --argument2 5 # Namespace(argument1=3, argument2=5) # 8
如果要設定必選參數(shù)
使用required
parser.add_argument("--num", type=int, required=True, help="must enter a num")
參數(shù)還可以是文件
parser.add_argument('file', type=argparser.FileType('r')) # 讀取文件
parser.add_argument('file', default='text.txt', type=argparser.FileType('r')) # 讀取文件,預定義參數(shù)
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python+Django實現(xiàn)接口測試工具的示例代嗎
本文主要介紹了Python+Django實現(xiàn)接口測試工具,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07
pytorch中實現(xiàn)彩色圖像(三通道)轉灰度圖像(單通道)
這篇文章主要介紹了pytorch中實現(xiàn)彩色圖像(三通道)轉灰度圖像(單通道),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02
Pytorch中torch.nn.**和torch.nn.functional.**的區(qū)別
本文主要介紹了Pytorch中torch.nn.**和torch.nn.functional的區(qū)別,torch.nn.**是一個繼承的類,需要構造對象后再調(diào)用,而torch.nn.functional是純數(shù)學函數(shù),可以直接使用,下面就來詳細的介紹一下2024-11-11

