在使用linux命令的时候,如果不知道命令用法,可以使用命令加–help、-h去查看帮助,–list、-l查看列表,–version、-v查看当前命令/程序版本,那么这些在同样是脚本的python中如何实现呢?
话不多说见代码 custom_option.py
# ! /usr/bin/env python
# coding=utf8
import sys
import getopt
VERSION=1.0.0
USAGE="""
你可以定制下列参数
-h --help 查看帮助菜单
-v --version 查看当前版本
-d --date 指定日期参数
-n --name 指定姓名参数
"""
if __name__ == "__main__" :
#参数校验
try:
options,args = getopt.getopt(sys.argv[1:],'hvd:n:',['help','version','date=','name=','class=']
except getopt.GetoptError:
print("参数输入错误,请尝试 [python get_user_info.py -h] 获取帮助说明")
sys.exit(1)
##参数使用
date=''
name=''
for k,v in options:
if k in ('-h','--help')
print(USAGE)
if k in ('-v','--version')
print(VERSION)
if k in ('-d','--date')
date=v
print(date)
if k in ('-n','--name')
name=v
print(name)
关于getopt
getopt需要三个参数(args, shortopts, longopts:list=[]):
- args 即用户输入的参数 args[0]是脚本名,所以取args[1:];
- shortopts 短参是由单个字符拼成的字符串,如果该参数需要输入则字符后面跟’:’
- longopts 是由长参数字符串组合的list,如果该参数需要输入则该字符串后面跟‘=’
使用
上述代码可以像多参数命令一样使用了。
python custom_option.py -v
1.0.0
python custom_option.py --no
参数输入错误,请尝试 [python get_user_info.py -h] 获取帮助说明
python custom_option.py -d 2020-02-02
2020-02-02