python getopt模塊使用方法


python中 getopt 模塊,是專門用來處理命令行參數的 

getop標准格式:

函數getopt(args, shortopts, longopts = [])

  shortopts 是短參數    類似於這樣:python test.py -h # 輸出幫助信息
  longopts 是長參數   類似於這樣:python test.py --help # 輸出幫助信息

  args指的是當前腳本接收的參數,它是一個列表,可以通過sys.argv獲得,在Python里的命令行參數是存儲在sys.argv里,argv是一個列表,第一個元素是程序名稱。
示例:

#test.py
# -*- coding:utf-8 -*-
import sys

if __name__ == '__main__':
        for item in sys.argv:
                print i

在命令行運行./test.py  1 2 3,結果如下:

test.py
1
2
3

下面寫一個getop常用格式示例:

代碼:

#test.py 
import getopt import sys
try: options,args = getopt.getopt(sys.argv[1:],"hp:i:",["help","ip=","port="]) except getopt.GetoptError: sys.exit() print ("options:",options) print("args:",args) for name,value in options: if name in ("-h","--help"): print ("help:正確的使用方法是.......") if name in ("-i","--ip"): print ('ip 是:',value) if name in ("-p","--port"): print ('port 端口是:',value)

 命令行中輸入:

python test.py -h --ip=192.168.0.1 -p 80  a1 a2

 運行結果為:

 options: [('-h', ''), ('--ip', '192.168.0.1'), ('-p', '80')]
 args: ['a1', 'a2']
 help:正確的使用方法是.......
 ip 是: 192.168.0.1
 port 端口是: 80

 解析:

sys.argv[1:]      過濾掉第一個參數(它是執行腳本的名字,不應算作參數的一部分)。 

“hp:i:”               短格式, h 后面沒有冒號:表示后面不帶參數,p:和 i:后面有冒號表示后面需要參數

["help","ip=","port="]     長格式, help后面沒有等號=,表示后面不帶參數,ip、port后面有=,表示后面需要參數
options 是個包含元組的列表,每個元組是分析出來的格式信息
args 是個列表,包含那些沒有‘-’或‘--’的參數


注意:定義命令行參數時,要先定義帶'-'選項的參數,再定義沒有‘-’的參數

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM