Python模块(1)-Argparse 简易使用教程
argparse 簡易使用教程
- 1基本函數(shù)
- 2例子程序演示
- 3常用參數(shù)解釋
- 4argparse模塊整理的緣起
1基本函數(shù)
argparse是Python中用于命令行中進(jìn)行參數(shù)解析的一個模塊,可以自動生成help和usage信息;當(dāng)從終端輸入的參數(shù)無效時,模塊會輸出提示信息。
Argparse常用的三個函數(shù):
parser=Argparse.ArgumentParser()
ArgumentParser()用于創(chuàng)建一個ArgumentParser對象parser,parser保存了所有必要信息,用于將“從命令行中讀入的參數(shù)”解析為對應(yīng)的python數(shù)據(jù)類型。
parser.add_argument()
用于給parser添加需要讀取數(shù)據(jù)的信息,這些信息告訴parser解析讀入?yún)?shù)的方法
args = parser.parse_args()
用于解析parser保存的參數(shù),返回一個命名空間
在實(shí)際python腳本中parse_args()一般不使用參數(shù),它的參數(shù)由sys.argv確定。
2例子程序演示
將下列代碼存成.py文件,在終端中運(yùn)行。
import argparse parser=argparse.ArgumentParser(description="process some integer.") parser.add_argument('integers',metavar='N',type=int,nargs='+',help='an integer for accumulator') parser.add_argument('--sum',dest='accumulate',action='store_const',const=sum,default=max,help='sum the integers (default:find the max)' args=parser.parse_args() print(args.accumulate(args.integers))
上面程序?qū)崿F(xiàn)了,默認(rèn)求最大,可選求和的功能,結(jié)合上面程序,講解三個函數(shù)中常用的選項(xiàng)含義:
3常用參數(shù)解釋
parser=argparse.ArgumentParser(description=“process some integer.”)
1.1description,用于簡要介紹程序的功能和工作原理。在幫助消息中,說明顯示在 命令行‘用法’字符串 和 各種參數(shù)的幫助消息之間。
1.2prog,用于顯示“程序文件名”,默認(rèn)為“運(yùn)行文件名”
1.3usage,程序使用說明。當(dāng)使用了 usage 的參數(shù)之后,會覆蓋覆蓋了 prog 參數(shù)里面的值。
parser.add_argument(‘integers’,metavar=‘N’,type=int,nargs=’+’,help=‘a(chǎn)n integer for accumulator’)
parser.add_argument(’–sum’,dest=‘a(chǎn)ccumulate’,action=‘store_const’,const=sum,default=max, help=‘sum the integers (default:find the max)’)
ArgumentParser.add_argument(name or flags…[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])
2.1 name,用于保存輸入變量
2.2 action=‘store_const’ 存儲由const關(guān)鍵字參數(shù)指定的值。
2.3 nargs單個命令行參數(shù)與要執(zhí)行的單個操作相關(guān)聯(lián)
2.4 default值是一個字符串,則解析器會將該值解析為一個命令行參數(shù),變量的默認(rèn)輸入
2.5 type 指定變量的類型
2.6 nargs=’+’.’+‘和’*'一樣,出現(xiàn)的所有命令行參數(shù)都被收集到一個列表中。
2.7 當(dāng)ArgumentParser生成幫助信息時, 默認(rèn)情況下使用dest的值作為每個對象的“名字”。
2.8 metavar會改變顯示出來的名字 - parse_args() 對象中屬性的名字仍然由dest的值決定。
(metavar: 這個參數(shù)用于help 信息輸出中)
args=parser.parse_args()
調(diào)用 parse_args() 將返回一個具有兩個屬性的對象, integers 和 accumulate 。
print(args.accumulate(args.integers))
累和的語句實(shí)現(xiàn),默認(rèn)對輸入的數(shù)據(jù)進(jìn)行球最大,如果解析到sum的參數(shù),那么求和
4argparse模塊整理的緣起
在程序會見到最簡單的形式,指定,參數(shù)類型,可選值,默認(rèn)值,和幫助信息等,在運(yùn)行程序的時候可以通過命令行輸入用戶制定的參數(shù),否則使用默認(rèn)參數(shù)。
parser.add_argument(’–cuda’, action=‘store_true’, help=‘enables cuda’)
當(dāng)在終端運(yùn)行的時候,如果不加入–cuda, 那么程序運(yùn)行時的時候,–cuda的值為default: False
如果加上了–cuda,不需要指定True/False,那么程序運(yùn)行的時候,–cuda的值為True
等價與一個開關(guān)操作.
更多內(nèi)容可以詳見以下兩篇博文:
https://cloud.tencent.com/developer/section/1370514
https://www.cnblogs.com/piperck/p/8446580.html
https://blog.csdn.net/LemonTree_Summer/article/details/80749359
總結(jié)
以上是生活随笔為你收集整理的Python模块(1)-Argparse 简易使用教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux终端命令(6)--ifconf
- 下一篇: 《C++ Primer 5th》笔记(7