Python-getopt
getopt这个函数 就是用来抽取 sys.argv 获得的用户输入来确定执行步骤。
1、getopt
getopt是个模块,而这个模块里面又有getopt 函数。
getopt.getopt(args, shortopts, longopts=[])
该函数返回opts和args两个值:
- opts 是一个存有所有选项及其输入值的元组.当输入确定后,这个值不能被修改。
- shortopts 是短参数,类似python test.py -h # 输出帮助信息
- longopts 是长参数,类似python test.py -help # 输出帮助信息
- args 是去除有用的输入以后剩余的部分。
import getopt
import sys
arg = getopt.getopt(sys.argv[1:], '-h', ['help'])
print(arg)
运行程序
C:\>python test.py -h
([('-h', '')], [])
C:\>python test.py --help
([('--help', '')], [])
当存在多个选项时
import urllib.request
import getopt
import sys
#":"代表了当前参数是有值的,是一个参数名+参数值的参数
#长参数名的方式和短参数差不多,唯一的区别就是长参数如果要接收值,那必须得在后面加上一个"="
opts,args = getopt.getopt(sys.argv[1:],'-h-f:-v',['help','filename=','version'])
for opt_name,opt_value in opts:
if opt_name in ('-h','--help'):
print("[*] Help info")
exit()
if opt_name in ('-v','--version'):
print("[*] Version is 0.01 ")
exit()
if opt_name in ('-f','--filename'):
fileName = opt_value
print("[*] Filename is ",fileName)
exit()
运行(长名字同理)
C:\>python test.py -v
[*] Version is 0.01
C:\>python test.py -f=test
[*] Filename is =test
C:\>python test.py -h
[*] Help info

浙公网安备 33010602011771号