Python+getopt怎么實(shí)現(xiàn)命令行帶參數(shù),相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
創(chuàng)新互聯(lián)專(zhuān)注于企業(yè)營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站重做改版、自流井網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5技術(shù)、購(gòu)物商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為自流井等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
python中 getopt 模塊,該模塊是專(zhuān)門(mén)用來(lái)處理命令行參數(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 后面沒(méi)有冒號(hào):表示后面不帶參數(shù),p:和 i:后面有冒號(hào)表示后面需要參數(shù)
help后面沒(méi)有等號(hào)=,表示后面不帶參數(shù),其他三個(gè)有=,表示后面需要參數(shù)
返回值 options 是個(gè)包含元祖的列表,每個(gè)元祖是分析出來(lái)的格式信息,比如 [('-i','127.0.0.1'),('-p','80')] ;
args 是個(gè)列表,包含那些沒(méi)有‘-’或‘--’的參數(shù),比如:['55','66']
注意:定義命令行參數(shù)時(shí),要先定義帶'-'選項(xiàng)的參數(shù),再定義沒(méi)有‘-’的參數(shù)
看完上述內(nèi)容,你們掌握Python+getopt怎么實(shí)現(xiàn)命令行帶參數(shù)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!