一、簡介
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()