argparse:解析命令列選項
argparse模組
在每個 add_argument()
呼叫中,dest
引數指定解析結果被指派給屬性的名字。 metavar
引數被用來生成幫助資訊。action
引數指定跟屬性對應的處理邏輯, 通常的值為 store
,被用來儲存某個值或將多個引數值收集到一個列表中。
# search.py ''' Hypothetical command-line tool for searching a collection of files for one or more text patterns. ''' import argparse parser = argparse.ArgumentParser(description='Search some files') parser.add_argument(dest='filenames',metavar='filename', nargs='*') parser.add_argument('-p', '--pat',metavar='pattern', required=True, dest='patterns', action='append', help='text pattern to search for') parser.add_argument('-v', dest='verbose', action='store_true', help='verbose mode') parser.add_argument('-o', dest='outfile', action='store', help='output file') parser.add_argument('--speed', dest='speed', action='store', choices={'slow','fast'}, default='slow', help='search speed') args = parser.parse_args() # Output the collected arguments print(args.filenames) print(args.patterns) print(args.verbose) print(args.outfile) print(args.speed)
下面的引數收集所有剩餘的命令列引數到一個列表中:
parser.add_argument(dest='filenames',metavar='filename', nargs='*')
下面的引數根據引數是否存在來設定一個 Boolean
標誌:
parser.add_argument('-v', dest='verbose', action='store_true',
help='verbose mode')
下面的引數接受一個單獨值並將其儲存為一個字串:
parser.add_argument('-o', dest='outfile', action='store', help='output file')
下面的引數說明允許某個引數重複出現多次,並將它們追加到一個列表中去。 required
標誌表示該引數至少要有一個。-p
和 --pat
表示兩個引數名形式都可使用。
parser.add_argument('-p', '--pat',metavar='pattern', required=True,
dest='patterns', action='append',
help='text pattern to search for')
最後,下面的引數說明接受一個值,但是會將其和可能的選擇值做比較,以檢測其合法性:
parser.add_argument('--speed', dest='speed', action='store',
choices={'slow','fast'}, default='slow',
help='search speed')
一旦引數選項被指定,你就可以執行 parser.parse()
方法了。 它會處理 sys.argv
的值並返回一個結果例項。 每個引數值會被設定成該例項中 add_argument()
方法的 dest
引數指定的屬性值。
相關推薦
argparse:解析命令列選項
argparse模組 在每個 add_argument() 呼叫中,dest 引數指定解析結果被指派給屬性的名字。 metavar 引數被用來生成幫助資訊。action 引數指定跟屬性對應的處理邏輯, 通常的值為 store ,被用來儲存某個值或將多個引數值收集
Python 使用argparse模組解析命令列讀取引數簡介
在多個檔案或者不同語言協同的專案中,python指令碼經常需要從命令列直接讀取引數。萬能的python就自帶了argprase包使得這一工作變得簡單而規範。PS:optparse包是類似的功能,只不過寫起來更麻煩一些。 如果指令碼很簡單或臨時使用,沒有多個複雜的引數選項,可以直接利用sys.argv將指令碼
Qt:解析命令列
Qt從5.2版開始提供了兩個類QCommandLineOption和QCommandLineParser來解析應用的命令列引數。 一、命令列寫法 命令列:"-abc" 在QCommandLineParser的解析模式為ParseAsCompactedShortOption
argparse - 命令列選項與引數解析
閱讀原文點我 argparse模組作為optparse的一個替代被新增到Python2.7。argparse的實現支援一些不易於新增到optparse以及要求向後不相容API變化的特性,因此以一個新模組新增到標準庫。 與optparse相比較 argparse的API類似於optpars
python-argparse命令列選項與引數解析
設定一個解析器 使用argparse的第一步就是建立一個解析器物件,並告訴它將會有些什麼引數。那麼當你的程式執行時,該解析器就可以用於處理命令列引數。 解析器類是 ArgumentParser 。
命令列選項解析函式(C語言):getopt()、getopt_long()和getopt_long_only
上午在看原始碼專案 webbench 時,剛開始就被一個似乎挺陌生函式 getopt_long() 給卡住了,說實話這函式沒怎麼見過,自然不知道這哥們是幹什麼的。於是乎百度了一番,原來是處理命令列選項引數的,的確,正規點的大型程式一般第一步就是處理命令列引數
Python:關於命令列引數argparse寫入圖片路徑
什麼是命令列引數? 命令列引數是在執行時給予程式/指令碼的標誌。它們包含我們程式的附加資訊,以便它可以執行。 並非所有程式都有命令列引數,因為並非所有程式都需要它們。 為什麼我們使用命令列引數? 如上所述,命令列引數在執行時為程式提供附加資訊。 這允許我們在不改變程式碼的情況下動
命令列選項與引數解析(譯)
轉載:http://blog.xiayf.cn/2013/03/30/argparse/ argparse模組作為optparse的一個替代被新增到Python2.7。argparse的實現支援一些不易於新增到optparse以及要求向後不相容API變化的特性,因此以一個新模組新增到標準庫。
13.4 argparse--分析命令列選項、引數功能
本模組主要為了方便實現命令列引數處理,或者分析命令列引數。建立命令列引數分析器:#python 3.4import argparseparser = argparse.ArgumentParser(description='Process some integers.')pr
Python命令列選項引數解析策略
概述 在Python的專案開發過程中,我們有時需要為程式提供一些可以通過命令列進行呼叫的介面。不過,並不是直接使用 command + 當前檔案 就ok的,我們需要對其設定可選的各種各樣的操作型別。所以,這種情況下我們就有必要對傳入的引數進行解析操作。下面就此
命令列選項引數解析-getopt函式
在學習Unix/Linux程式設計實踐教程時,編寫練習一些linux命令,需要對命令列引數進行解析,從而接觸到getopt系列函式: 1. getopt() 2. getopt_long() 3.getopt_long_only() 總結如下: Parse c
centos升級gcc到4.8.2(cc1plus: 錯誤:無法識別的命令列選項“-std=c++11”)
驗證:gcc -v;或者g++ -v,如果顯示的gcc版本仍是以前的版本,就需要重啟系統;或者可以檢視gcc的安裝位置:which gcc;然後在檢視版本 /usr/local/bin/gcc -v,通常gcc都安裝在該處位置
命令列選項與引數解析(轉)
argparse模組作為optparse的一個替代被新增到Python2.7。argparse的實現支援一些不易於新增到optparse以及要求向後不相容API變化的特性,因此以一個新模組新增到標準庫。 與optparse相比較 argparse的API類似於optparse,甚至在很多情況下
Apollo程式碼解析:3. 命令列引數傳遞google gflags
簡介 在百度Apollo中gflag被廣泛的應用在各種全域性變數中,例如節點名,變數名,各種狀態標誌中。 gflags 是google開源的一套命令列引數解析工具,比 getopt 功能更加強大,使用起來更加方便。 什麼是 命令列引數解析工具 呢? 這裡拿p
getopt/getopts:Bash中命令列選項/引數處理
本文轉載自: http://www.cnblogs.com/FrankTan/archive/2010/03/01/1634516.html -- 0.引言 寫程式的時候經常要處理命令列引數,本文描述在Bash下的命令列處理方式。 選項與引數: 如下
Python解析命令列讀取引數 -- argparse模組
在多個檔案或者不同語言協同的專案中,python指令碼經常需要從命令列直接讀取引數。萬能的python就自帶了argprase包使得這一工作變得簡單而規範。PS:optparse包是類似的功能,只不過寫起來更麻煩一些。 如果指令碼很簡單或臨時使用,沒有多個複雜的引數選項
main:處理命令列選項
有時我們需要給main函式傳遞實參, 我們可以把命令列選項通過兩個形參傳遞給main函式: int mian(int argc, char *argv[]) { ... }; argv是argument value,是一個數組,它的元素是指向C風格字串的指標;第一個形參argc是argument coun
argparse配合pycharm命令列引數
1、未新增命令列引數的時候 import argparse parser = argparse.ArgumentParser() parser.add_argument("square", type=int, help="display a square of a given number")
CCF Python題解(100分)201403-3 命令列選項
CCF Python題解(100分)201403-3 命令列選項 form = input() n = int(input()) def judge(str3): flag = True for k in str3: if not (k.islower
201403-3命令列選項(c++,字串處理)
試題編號: 201403-3 試題名稱: 命令列選項 時間限制: 1.0s 記憶體限制: 256.0MB 問題描述: 問