python之Argparse模块
argparse 模塊可以輕松編寫用戶友好的命令行接口。程序定義它需要的參數,然后 argparse 將弄清如何從 sys.argv 解析出那些參數。 argparse 模塊還會自動生成幫助和使用手冊,并在用戶給程序傳入無效參數時報出錯誤信息。
argparse簡單使用流程
主要有三個步驟:
- 創建 ArgumentParser() 對象
- 調用 add_argument() 方法添加參數
- 使用 parse_args() 解析添加的參數
創建解析器對象
parser = argparse.ArgumentParser()一般這樣即可,全部可選參數如下。
class argparse.ArgumentParser(prog=None, usage=None, description=None, epilog=None, parents=[], formatter_class=argparse.HelpFormatter, prefix_chars='-', fromfile_prefix_chars=None, argument_default=None, conflict_handler='error', add_help=True, allow_abbrev=True)詳細解釋參考官方文檔:https://docs.python.org/zh-cn/3/library/argparse.html#argparse.ArgumentParser
添加參數
分為添加位置參數-positional arguments和可選參數-optional arguments
添加位置參數聲明的參數名前綴不帶-或--,按照順序進行解析,在命令中必須出現,否則報錯,命令通常為:
添加可選參數聲明的參數名前綴帶-或--,前綴是-的為短參數,前綴是--是長參數,兩者可以都有,也可以只有一個,短參數和長參數效果一樣。可選參數的值接在位置參數的后面,不影響位置參數的解析順序。
以深度學習訓練中經常出現的為例:
其中action參數的'store_true'指的是:觸發action時為真,不觸發則為假。即儲存了一個bool變量,默認為false,觸發不用賦值即變為true
type:指定參數類別,默認是str,傳入數字要定義
help:是一些提示信息
default:是默認值
metavar: 在 usage 說明中的參數名稱,對于必選參數默認就是參數名稱,對于可選參數默認是全大寫的參數名稱.
其它詳細用法文檔介紹:https://docs.python.org/zh-cn/3/library/argparse.html#argparse.ArgumentParser.add_argument
解析參數
args = parser.parse_args()這樣args就有了參數屬性,可以用args了。
示例:
# 導入包 import argparse # 創建解析器 parser = argparse.ArgumentParser() #添加位置參數(positional arguments) parser.add_argument('-a', type=int,help='input a int') args = parser.parse_args() print(args.a)轉載于:https://www.cnblogs.com/cuhm/p/10643765.html
總結
以上是生活随笔為你收集整理的python之Argparse模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: axios中的qs
- 下一篇: POST一下就知道:人生苦短,我用Pyt