Python參數解析工具ArgumentParser


通過命令行運行Python腳本時,可以通過ArgumentParser來高效地接受並解析命令行參數。

流程

新建一個ArgumentParser類對象,然后來添加若干個參數選項,最后通過parse_args()方法解析並獲得命令行傳來的參數。

import argparser

parser = argparser.ArgumentParser()
# 此處省略添加若干個參數選項的詳細步驟
# ...
parser.parse_args()

最后通過parser.<argument_name>來獲取傳遞過來的參數。

添加參數選項

使用add_argument()來添加參數選項

# 添加位置參數
parser.add_argument("echo", help="echo the string you use here")
parser.add_argument("square", help="display ...", type=int)
# 添加可選參數
parser.add_argument("-v", "--verbosity", help="...", type=int, choices=[0, 1, 2], default=0)

對以上代碼做出如下解釋:

  • 在使用add_argument來添加參數選項的時候,首先要指定參數的名字argument_name這個屬性,可選參數有長短兩個名稱;
  • 在命令行指定位置參數時直接傳值,指定可選參數時,先注明長短名稱,然后在后面接值;
  • help提示參數的作用,type規定了參數的取值類型,choices以列表的形式規定了值域,default規定了參數的默認值

參數選項組

使用add_mutually_exclusive_group()來添加相互對立的參數選項組

一個對立的可選參數組在指定參數時,只能任選其一或都不選

# 導入模塊和新建ArgumentParser類的過程省略
group = parser.add_mutually_exclusive_group()
group.add_argument("-d", "--down")
group.add_argument("-t", "--top")
# ...

最后獲取參數時,仍舊是通過parser.downparser.top.

額外的小插曲

對於可選參數還有一個action屬性,常見的有store_truecount兩種

# 指定-v可選參數時,-v等於True,否則為False
parser.add_argument("-v", action="store_true")
# 指定-v可選參數時,-v等於v出現的次數
parser.add_argument("-v", action="count")


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM