自我總結argparse函數

好多代碼的傳參都是用argparse函數來寫的,我在CSDN上搜索了一些,可是覺得越看越糊塗,我又去了博客園發現了幾篇還不錯的博客。自我總結,不時更新。
argparse,是Python標準庫中推薦使用的編寫命令行程序的工具。
首先,python給的英文原版解釋在這
點我看英文原版
一個博客園的博主做了一些翻譯,地址在這兒
點我看博主翻譯版本
這個博主的解釋也很詳細
我覺得看懂了的一個版本
好了,下面該我自己總結了:
還有一個博主也的也很好
python之旅,極客學院

1、爲什麼要用argparse?

我目前的感覺是功能更加強大一些,圈定的爲可選參數,且規範了範圍,還有一些解釋等等,功能很全,比直接給超參數賦值更好。所以在讀好多大神的代碼的時候他們都是這樣寫的。**歡迎評論補充優點!**好多功能是在終端上運行時纔會顯示出來的,我現在一般用pycharm,好多也用不到也沒法做測試。

## 定義:argparse是python標準庫裏面用來處理命令行參數的庫

2、使用步驟

import argparse    首先導入模塊
parser = argparse.ArgumentParser()    創建一個解析對象
parser.add_argument()    向該對象中添加你要關注的命令行參數和選項
parser.parse_args()    進行解析

接下來就要介紹參數的使用方法了,有些可能會用到,但是有些一般用不到,不必特別深究。更詳細的還是去看python官網的那個英文原版。

3、argparse.ArgumentParser()方法參數須知

 prog=None     - 程序名
 description=None,    - help時顯示的開始文字
 epilog=None,     - help時顯示的結尾文字
 parents=[],        -若與其他參數的一些內容一樣,可以繼承
 formatter_class=argparse.HelpFormatter,     - 自定義幫助信息的格式
 prefix_chars='-',    - 命令的前綴,默認是‘-’
 fromfile_prefix_chars=None,     - 命令行參數從文件中讀取
 argument_default=None,    - 設置一個全局的選項缺省值,一般每個選項單獨設置
 conflict_handler='error',     - 定義兩個add_argument中添加的選項名字發生衝突時怎麼處理,默認處理是拋出異常
 add_help=True    - 是否增加-h/--help選項,默認是True)

4、add_argument()方法參數須知

(1)name or flags,注意區分’echo’,’-echo’,’–echo’

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('echo')     # add_argument()指定程序可以接受的命令行選項
args = parser.parse_args()      # parse_args()從指定的選項中返回一些數據
print(args)
print(args.echo)

剩下的大概這樣記就行。
name or flags - 選項字符串的名字或者列表,例如 foo 或者 -f, --foo。
action - 命令行遇到參數時的動作,默認值是 store。
store_const,表示賦值爲const;
append,將遇到的值存儲成列表,也就是如果參數重複則會保存多個值;
append_const,將參數規範中定義的一個值保存到一個列表;
count,存儲遇到的次數;此外,也可以繼承 argparse.Action 自定義參數解析;
nargs - 應該讀取的命令行參數個數,可以是具體的數字,或者是?號,當不指定值時對於 Positional argument 使用 default,對於 Optional argument 使用 const;或者是 * 號,表示 0 或多個參數;或者是 + 號表示 1 或多個參數。
const - action 和 nargs 所需要的常量值。
default - 不指定參數時的默認值。
type - 命令行參數應該被轉換成的類型。
choices - 參數可允許的值的一個容器。
required - 可選參數是否可以省略 (僅針對可選參數)。
help - 參數的幫助信息,當指定爲 argparse.SUPPRESS 時表示不顯示該參數的幫助信息.
metavar - 在 usage 說明中的參數名稱,對於必選參數默認就是參數名稱,對於可選參數默認是全大寫的參數名稱.
dest - 解析後的參數名稱,默認情況下,對於可選參數選取最長的名稱,中劃線轉換爲下劃線.
接下來我就用到那個解釋補充那一個,歡迎指正!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章