python getopt模組的使用

2021-08-22 03:28:04 字數 2255 閱讀 3865

python 檔案名字: test_getopt.py

python 檔案執行引數:python test_getopt.py -p:8888 -ip:127.0.0.1

test_getopt.py **:

#!/usr/bin/env python

import getopt

import sys

def main():

"""python test_getopt.py -i:127.0.0.1 -p:8888

"""options, args = getopt.getopt(sys.argv[1:], 'p:i:')

for name, value in options:

if name in ('-i'):

# value is 127.0.0.1

print ("value: ".format(value))

if name in ('-p'):

# value is 8888

print ("value: ".format(value))

if __name__ == "__main__":

main()

如果你是這樣執行的**:python test_getopt.py -i:127.0.0.1 -p:8888.  那麼在上邊的**中-i的name值就是127.0.0.1 -p的name值就是8888,getopt.getopt(sys.argv[1:], 'p:i:') 第乙個引數就是取檔名後邊的引數, 第二個引數『p:i:』 就是你命令列的引數是帶乙個'-'符號的, ':' 符號是你的引數必須有值:例如:-i:127.0.0.1. 

你也可以加入-h選項,當別人輸入python test_getopt.py -h 的時候會看到help的資訊。**如下

#!/usr/bin/env python

import getopt

import sys

def usage():

print ("**********")

print ("usage:")

print (". ******x")

print (". ******x")

print ("**********")

def main():

"""python test_getopt.py -h

"""options, args = getopt.getopt(sys.argv[1:], 'h')

for name, value in options:

if name in ('-h'):

usage()

if __name__ == "__main__":

main()

上邊的**例項都是引數是帶乙個『-』符號的, 你也可以使用帶『--』符號的引數, **如下:

#!/usr/bin/env python

import getopt

import sys

def usage():

print ("*****==")

print ("usage:")

print ("python test_getopt.py -i:127.0.0.1 -p:8888 66 88 or python test_getopt.py --ip=127.0.0.1 --port=8888 66 88")

print ("*****==")

def main():

"""getopt 模組的用法

"""options, args = getopt.getopt(sys.argv[1:], 'hp:i:', ['help', 'port=', 'ip='])

for name, value in options:

if name in ('-h', '--help'):

usage()

if name in ('-p', '--port'):

print ('value: '.format(value))

if name in ('-i', '--ip'):

print ('value: '.format(value))

for name in args:

# name 的值就是 上邊引數例項裡邊的66和88

print ("name: ".format(name))

if __name__ == "__main__":

main()

Python getopt命令列引數模組

getopt模組專門用來處理命令列引數 getopt模組有兩個函式,兩個屬性 函式 getopt.getopt getopt.gnu getopt 屬性 getopt.error getopt.getopterror getopt.getopt args,shortopts longopts 引數a...

Python getopt的使用詳解

首先,要說明的是python中的getopt模組是專門用來處理命令列引數的。對於一般的命令列引數處理,只需要簡單使用sys.argv就可以實現,舉例說明,建立乙個argvtest.py檔案內容如下 argvtest.py import sys print sys.argv 用命令列的方式執行該檔案p...

python getopt 獲取命令列引數

python 中 getopt 模組,該模組是專門用來處理命令列引數的函式 getopt args,shortopts,longopts args一般是sys.argv 1 shortopts 短格式 longopts 長格式 命令列中輸入 python test.py i 127.0.0.1 p ...