您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Python包argparse模塊常用方法有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
??argparse包用于解釋命令行參數。這里給出幾個常用的方法。
# 創建解析器對象 # @para: description:描述信息 Arg = ArgumentParser(description='An example for Python package argparse~') # 添加參數 # @para: 后面舉例子再細說 Arg.add_argument() # 解析參數 # @return: 返回的arg是一個對象,里面的屬性和屬性值來自命令行 arg = Arg.parse_args() # 創建互斥組 # @description:互斥組內的參數不能同時出現 Arg.add_mutually_exclusive_group()
基本使用
import argparse Arg = argparse.ArgumentParser(description='An example for Python package argparse~') arg = Arg.parse_args()
不添加任何參數,cmd運行結果:
默認可以使用-h或者–help查看參數列表。因為沒有添加任何參數,因此,這里只有一個-h。可以看到description的描述信息也可以在-h下打印出來。
添加參數
import argparse Arg = argparse.ArgumentParser(description='An example for Python package argparse~') Arg.add_argument('a') arg = Arg.parse_args() print("arg 的內的參數{}".format(arg.a)) args = vars(arg) print("arg 的內的參數{}".format(args['a']))
添加參數后,需要在運行后面帶上參數,否則報錯。
添加可選參數
前面添加的參數,一定要傳入參數值。
import argparse Arg = argparse.ArgumentParser(description='An example for Python package argparse~') Arg.add_argument('-a','-all',help='add all para!') arg = Arg.parse_args() print("arg 的內的參數{}".format(arg.a)) args = vars(arg) print("arg 的內的參數{}".format(args['a']))
只需在參數前加上-
(用于一個字母,例如-h
)或者--
(用于多個字母,例如--help
),即可選擇是否需要傳入參數。
但是如果指定了參數,后面一定要跟上參數值,否則會報錯。例如:
在添加參數的時候,加上action="store_true"
,
import argparse Arg = argparse.ArgumentParser(description='An example for Python package argparse~') Arg.add_argument('-a','-all',help='add all para!',action="store_true") arg = Arg.parse_args() print("arg 的內的參數{}".format(arg.a)) args = vars(arg) print("arg 的內的參數{}".format(args['a']))
當我們帶上-a
運行,在代碼里得到的a值為True
,不帶則為False
。這個是不是和-h
類似,當我們帶上-h
,里面有個if判斷,就把相關信息print出來了。
固定類型type
import argparse Arg = argparse.ArgumentParser(description='An example for Python package argparse~') Arg.add_argument('-a','-all',type = int ,help='add all para!',action="store_true") arg = Arg.parse_args() print("arg 的內的參數{}".format(arg.a)) args = vars(arg) print("arg 的內的參數{}".format(args['a']))
可選值和默認值
import argparse Arg = argparse.ArgumentParser(description='An example for Python package argparse~') Arg.add_argument('-a','-all',type = int ,help='add all para!',choices=[0,1,2,3],default='3') arg = Arg.parse_args() print("arg 的內的參數{}".format(arg.a)) args = vars(arg) print("arg 的內的參數{}".format(args['a']))
互斥參數
import argparse Arg = argparse.ArgumentParser(description='An example for Python package argparse~') Gro = Arg.add_mutually_exclusive_group() Gro.add_argument('-a','-all',help='add all para!') Gro.add_argument('-b','-ball',help='add ball para!') arg = Arg.parse_args() args = vars(arg) if args.get('a',None): print("arg 的內的參數b:{}".format(args['a'])) if args.get('b', None): print("arg 的內的參數b:{}".format(args['b']))
可以看出,在互斥組內,參數不可以同時出現,僅可出現一個或者都不出現。所以在互斥組內添加的參數必須是可選參數,也就是以-
或者--
開頭的。
感謝各位的閱讀!關于“Python包argparse模塊常用方法有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。