Python+getopt怎么實(shí)現(xiàn)命令行帶參數(shù),相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
站在用戶的角度思考問題,與客戶深入溝通,找到新城網(wǎng)站設(shè)計(jì)與新城網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋新城地區(qū)。python中 getopt 模塊,該模塊是專門用來處理命令行參數(shù)的
函數(shù)getopt(args, shortopts, longopts = [])
參數(shù)args一般是sys.argv[1:],shortopts 短格式 (-), longopts 長(zhǎng)格式(--)
命令行中輸入:
# python test.py -i 127.0.0.1 -p 80 55 66
# python test.py --ip=127.0.0.1 --port=80 55 66
代碼:
#!/usr/bin/python
import getopt
import sys
def usage():
print ' -h help \n' \
' -i ip address\n' \
' -p port number\n' \
''
if __name__ == '__main__':
try:
options, args = getopt.getopt(sys.argv[1:], "hp:i:", ['help', "ip=", "port="])
for name, value in options:
if name in ('-h', '--help'):
usage()
elif name in ('-i', '--ip'):
print value
elif name in ('-p', '--port'):
print value
except getopt.GetoptError:
usage()
rgv[1:],"hp:i:",["help","ip=","port="])
h 后面沒有冒號(hào):表示后面不帶參數(shù),p:和 i:后面有冒號(hào)表示后面需要參數(shù)
help后面沒有等號(hào)=,表示后面不帶參數(shù),其他三個(gè)有=,表示后面需要參數(shù)
返回值 options 是個(gè)包含元祖的列表,每個(gè)元祖是分析出來的格式信息,比如 [('-i','127.0.0.1'),('-p','80')] ;
args 是個(gè)列表,包含那些沒有‘-’或‘--’的參數(shù),比如:['55','66']
注意:定義命令行參數(shù)時(shí),要先定義帶'-'選項(xiàng)的參數(shù),再定義沒有‘-’的參數(shù)
看完上述內(nèi)容,你們掌握Python+getopt怎么實(shí)現(xiàn)命令行帶參數(shù)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!