好久沒更新博客了
最近換了份新工作 有時間來整理一篇
在命令行CMD中執行文件過程中如何傳入並識別參數
1 # -*- coding: utf-8 -*- 2 # CMD運行類 3 # 作者: 4 # 時間: 2019-10-22 5 6 7 import sys 8 import getopt 9 10 11 from WorkUtils.UtilsLog import UtilsLog 12 13 14 class UtilsCmd: 15 def __init__(self): 16 self.log = UtilsLog() 17 self.log.info("調用CMD運行類") 18 self.log.info(self.__class__) 19 20 def usage(self): 21 self.log.debug("幫助信息:") 22 self.log.debug(" * -h : print this.") 23 self.log.debug(" * -c [val] : 用例描述") 24 self.log.debug(" * -v [val] : 版本號") 25 26 def case_cmd(self): 27 self.log.debug("運行用例執行參數模式。。。") 28 description = "" 29 version = "" 30 try: 31 opts, args = getopt.getopt(sys.argv[1:], "hd:v:") 32 for op, value in opts: 33 if op == "-d": 34 description = value 35 elif op == "-v": 36 version = value 37 elif op == "-h": 38 # 幫助信息 39 self.usage() 40 sys.exit() 41 else: 42 sys.exit() 43 except getopt.GetoptError as e: 44 self.log.error("出現ERROR:") 45 self.log.error(e) 46 return { 47 "description": description, 48 "version": version 49 }
這里寫了一個類
方法 usage 是用來輸出幫助信息的
方法 case_cmd 是在使用命令行中執行測試用例過程中 識別傳入的參數 -d 與 -v
opts, args = getopt.getopt(sys.argv[1:], "hd:v:")
這行代碼是獲取執行文件的參數 可識別 h d: v: 三種后綴參數格式
可以給大家看下效果
未輸入參數:
輸入 -h :
輸入 -v 與 -d :