您好,登錄后才能下訂單哦!
今天小編給大家分享一下python命令行參數(shù)模塊argparse怎么使用的相關(guān)知識點,內(nèi)容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
Python中的argparse模塊是一個命令行參數(shù)解析器,它可以讓開發(fā)者輕松地編寫用戶友好的命令行界面。
argparse模塊可以自動從命令行中解析出參數(shù),將它們轉(zhuǎn)化為Python中的對象,并提供一些額外的功能,如自動生成幫助文檔、參數(shù)類型檢查等。
argparse模塊的核心是ArgumentParser類,使用這個類可以定義程序需要接收的參數(shù)和選項.
使用argparse的四個步驟
導(dǎo)入argparse包 ——import argparse
創(chuàng)建 ArgumentParser() 對象
調(diào)用add_argument() 方法添加參數(shù)
解析命令行的參數(shù) ——使用 parse_args() 解析添加的參數(shù)
方法add_argument的參數(shù):
def add_argument(self, *name_or_flags: str, action: Union[str, Type[Action]] = ..., nargs: Union[int, str] = ..., const: Any = ..., default: Any = ..., type: Union[(str) -> _T, (str) -> _T, FileType] = ..., choices: Iterable[_T] = ..., required: bool = ..., help: Optional[str] = ..., metavar: Union[str, Tuple[str, ...], None] = ..., dest: Optional[str] = ..., version: str = ..., **kwargs: Any) -> Action
例子
parser=argparse.ArgumentParser("python") parser.add_argument("-p", "--port",help="port to listen",type=int,nargs=5,dest="ports") args=parser.parse_args() print(args.ports,type(args.ports))
解釋:
-p,–port,參數(shù)名稱,help:幫助信息,type:參數(shù)被轉(zhuǎn)換類型,nargs:讀取命令行參數(shù)個數(shù),多個參數(shù)被轉(zhuǎn)化為列表,dest:解析后的參數(shù)名稱
parser.add_argument("-p", "--port",help="port to listen",default=8080,type=int,dest="ports") args=parser.parse_args() print(args.ports,type(args.ports))
default:默認值
parser.add_argument("-p", "--port",help="port to listen",required=True,type=int,dest="ports")
required:是否為必選參數(shù)或可選參數(shù)
parser=argparse.ArgumentParser("python") parser.add_argument("-p", "--port",help="port to listen",required=True,type=int,dest="ports") parser.add_argument("-f","--flags",action="store_true") args=parser.parse_args() print(args.ports,type(args.ports),args.flags)
action: 當帶有store_true時,你傳入對應(yīng)參數(shù),則參數(shù)為真,否則為假,store_flase時則相反
parser.add_argument("-l",choices="12345") choices,參數(shù)l的取值只能是12345,1,2,3,4,5,12,123,1234等,不能是其它,不能亂序
以上就是“python命令行參數(shù)模塊argparse怎么使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。