python 命令列傳參

2021-09-30 16:34:15 字數 1000 閱讀 4750

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 ...