python處理命令行參數(getopt庫的簡單使用)

一、簡介
python中的getopt模塊是專門用來處理參數的。使用前需要先導入sys、getopt。
二、函數原型
getopt(args, shortopts, longopts = [])
參數args一般是getopt(sys.argv[1:],shortopts 短格式 (-), longopts 長格式(--))
三、使用簡介
eg:
opts,args = getopt.getopt(sys.argv[1:],"hp:i:",['help','port=',"ip="])
opt : 是個包含元祖的列表,每個元祖是分析出來的格式信息,比如 [('-i','127.0.0.1'),('-p','80')] ;
args : 是個列表,包含那些沒有‘-’或‘--’的參數,比如:['55','66']
h 後面沒有冒號:表示後面不帶參數
p:和 i:後面有冒號表示後面需要參數
注意::定義命令行參數時,要先定義不帶'-'選項的參數,再定義帶‘-’的參數
四、程序

import getopt
import sys
def usage():
    print '-h help\n'
    print '-i ip \n'
    print '-p port \n'
def main():
    if not len(sys.argv[1:]): #if len()=null  run usage()
        usage()
    try:
        opts,args = getopt.getopt(sys.argv[1:],"hp:i:",['help','port=',"ip="])
        for name, value in opts:
            if name in ("-h", "--help"):
                usage()
            elif name in ("-i", "--ip"):
                print value
            elif name in ("-p", "--port"):
                print value
    except getopt.GetoptError as err:
        print err
        usage()
if __name__ == '__main__':
    main()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章