標籤:python 命令列 參數 測試 遍曆
有時候,我們寫的命令列程式需要批次執行,這裡可以讓Python程式讀取命令列參數,再編寫一個命令列批次執行指令碼.bat,實際上就是一個充滿命令的、改了尾碼名的文字檔,在多個測試案例扔進Python程式中是非常有用的。
例如,如,有一個cmdArgs.py程式,當在python cmdArgs.py 後面帶上-h -i,程式則輸出-h與-i參數,後面所帶內容:
如果輸入其它參數,比如這裡多出來的-u參數,程式是自動報錯的。
這個cmdArgs.py的代碼如下,十分簡單:
#-*-coding:utf-8-*-import sys,getoptopts,args=getopt.getopt(sys.argv[1:], "h:i:")#"h:i:"指明本程式只接受-h -i的參數#sys.argv[1:]為要處理的參數列表,sys.argv[0]為指令碼名,所以只取sys.argv[1:]部分,過濾掉指令碼名for op,value in opts: if op=="-i": print "-i values is:"+value;#此處的value就是-i的值 if op=="-h": print "-h values is:"+value;
其中的for迴圈需要採取雙變數的遍曆。
opts,args數組,類似於一個key-value對數組。
通過遍曆opts數組,能夠把命令列後面的參數所取出。
如果要在Eclipse的PyDev環境運行上面的程式,可以採用如的方式,制定這個程式時所需要的參數:
右鍵相應的python檔案,選擇以……方式運行中的回合設定,在其中的Arguments中補上相應的參數就可以了。
如果,在Programs arguments中寫入:-h sdsad -i sdasdas上面的程式運行結果如下:
如果制定其它參數,同樣會報錯
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
【Python】讀取命令列參數、在PyDev中設定Python運行時的參數