getopt
import getopt, sys
opts, args = getopt.getopt(sys.argv[1:], '-o:-s:-u:-a:')
-o:-s:-u:-a:表示使用这个参数必须要传递实参,如-o 9;但是不使用这个参数就不用传实参;
这也就证明了''这种形式只可以使用单字母
sys.argv[1:] 表示参数的起始位置到结束位置
如运行python manage.py -o 123 -s 345
sys.argv[1:]->-o 123 -s 345但是真实的表现形式是[(-o,123),(-s,345)]
扩展
options,args = getopt.getopt(sys.argv[1:],"hp:i:",["help","ip=","port="])
“hp:i:”
短格式 h 后面没有冒号:表示后面不带参数,p:和 i:后面有冒号表示后面需要参数
详解:
python test.py -h 123
[('-h', '')]
python test.py -p 123
[('-p', '123')]
["help","ip=","port="]
长格式 help后面没有等号=,表示后面不带参数,其他三个有=,表示后面需要参数
标签:python,argv,sys,123,参数,命令行,getopt,解析
From: https://www.cnblogs.com/topass123/p/16730420.html