argparse中nargs參數的作用


轉自:https://www.jb51.net/article/190589.htm

1. nargs

nargs:ArgumentParser對象通常將一個動作與一個命令行參數關聯。nargs關鍵字參數將一個動作與不同數目的命令行參數關聯在一起:

nargs=N,一個選項后可以跟多個參數(action='append'時,依然是一個選項后跟一個參數,只不過選項可以多次出現),參數的個數必須為N的值,這些參數會生成一個列表,當nargs=1時,會生成一個長度為1的列表。

nargs=?,如果沒有在命令行中出現對應的項,則給對應的項賦值為default。特殊的是,對於可選項,如果命令行中出現了此可選項,但是之后沒有跟隨賦值參數,則此時給此可選項並不是賦值default的值,而是賦值const的值。

nargs=*,和N類似,但是沒有規定列表長度

nargs=+,和*類似,但是給對應的項當沒有傳入參數時,會報錯error: too few arguments。

nargs=argparse.REMAINDER,所有剩余的參數,均轉化為一個列表賦值給此項,通常用此方法來將剩余的參數傳入另一個parser進行解析。如果nargs沒有定義,則可傳入參數的數量由action決定,通常情況下為一個,並且不會生成長度為一的列表。

 


免責聲明!

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



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