Python如何使用argparse模塊處理命令行參數(shù)
這篇文章主要介紹了Python如何使用argparse模塊處理命令行參數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
介紹
argparse是python3標(biāo)準(zhǔn)庫(kù)里用來(lái)處理命令行參數(shù)的模塊
使用三步走:
- 創(chuàng)建 ArgumentParser() 對(duì)象
- 調(diào)用 add_argument() 方法添加參數(shù)
- 使用 parse_args() 解析添加的參數(shù)
實(shí)例
我們先來(lái)創(chuàng)建一個(gè)python文件
vim test.py
然后開(kāi)始在輸入模式(i)下輸入代碼
import argparse # 導(dǎo)入模塊
parser = argparse.ArgumentParser() # 創(chuàng)建一個(gè)對(duì)象
parser.add_argument("square", help="pls enter a num", type=int) # 增加一個(gè)叫square的參數(shù),類(lèi)型必須是int
parser.add_argument("input_str", help="pls enter a string", type=str) # 增加一個(gè)叫input_str的參數(shù),類(lèi)型必須是str
args = parser.parse_args() # 解析
print(args.square ** 2)
print(args.input_str)
然后,讓我們來(lái)運(yùn)行一下
python test.py 3 "I am a string!" # 結(jié)果是: # 9 # I am a string!
如果要查看文件的參數(shù)信息
python test.py -h
如果要設(shè)定可選參數(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è)定必選參數(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')) # 讀取文件,預(yù)定義參數(shù)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python+Django實(shí)現(xiàn)接口測(cè)試工具的示例代嗎
本文主要介紹了Python+Django實(shí)現(xiàn)接口測(cè)試工具,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
Python中sorted()排序與字母大小寫(xiě)的問(wèn)題
這篇文章主要介紹了Python中sorted()排序與字母大小寫(xiě)的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
pytorch中實(shí)現(xiàn)彩色圖像(三通道)轉(zhuǎn)灰度圖像(單通道)
這篇文章主要介紹了pytorch中實(shí)現(xiàn)彩色圖像(三通道)轉(zhuǎn)灰度圖像(單通道),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
Python爬蟲(chóng)學(xué)習(xí)之翻譯小程序
這篇文章主要為大家詳細(xì)介紹了Python爬蟲(chóng)學(xué)習(xí)之翻譯小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07
Pytorch中torch.nn.**和torch.nn.functional.**的區(qū)別
本文主要介紹了Pytorch中torch.nn.**和torch.nn.functional的區(qū)別,torch.nn.**是一個(gè)繼承的類(lèi),需要構(gòu)造對(duì)象后再調(diào)用,而torch.nn.functional是純數(shù)學(xué)函數(shù),可以直接使用,下面就來(lái)詳細(xì)的介紹一下2024-11-11

