1. 簡單的寫法:
通過匯入模組sys
import sys
if __name__ == '__main__':
argc = len(sys.ar**)
arg0 = sys.ar**[0]
#...
2. 稍微複雜一點的引數可以使用getopt模組:
import sys
import getopt
if __name__ == '__main__':
opt,args = getopt.getopt(sys.ar**[1:], "h:p:f:i:t:", ["help"])
host = ""
port = 0
file = ""
index = ""
type_ = ""
for op, val in opt:
if op == '-h':
host = val
elif op == '-p':
port = val
elif op == '-f':
file = val
elif op == '-i':
index = val
elif op == '-t':
type_ = val
elif op == '--help':
usage(sys.ar**[0])
if (host=="" or file=="" or index=="" or type_==""):
usage(sys.ar**[0])
sys.exit()
sys.ar**[1:] 表示從第1個引數開始解析,不包括第0個引數(指令碼路徑)。
"h:p:f:i:t:" 表示有5個引數,引數使用短標,冒號『:』 表示這個引數後面有值,不是乙個開關。如果不帶冒號則表示該引數不帶值。
後面的["help"]表示支援長引數「--help」.
方法 命令列傳參
設計方法的原則 方法的本意是功能塊,就是實現某個功能的語句塊的集合。我們設計方法的時候,最好保持方法的原子性,就是乙個方法只完成1個功能,這樣有利於我們後期的擴充套件 例 package 包 public class ww 加法 public static int add int a,int b 方...
pytest文件10 命令列傳參
命令列引數是根據命令列選項將不同的值傳遞給測試函式,比如平常在cmd執行 pytest html report.html 這裡面的 html report.html 就是從命令列傳入的引數 對應的引數名稱是html,引數值是report.html 1.首先需要在conftest.py新增命令列選項,...
Python 3 使用fire實現命令列傳參
在完成原始碼編寫後,有些類或者函式需要通過命令列傳遞引數,可以使用fire工具包 下面的 中,如果僅需要給add傳遞引數,將add暴露給命令列的方法只需要在檔案末尾新增 fire.fire 對類中的parse函式,需要暴露給命令的方法為在檔案末尾新增 fire.fire defaultconfig ...