Python getopt 模块

Python getopt 模块

  getopt模块,是配合sys.argv使用的一个扩展。他可以接收终端的参数。格式扩展为“-n” 或 “--n”两种类型,下面是具体解释。

使用

improt getopt
import sys

# 例一
opts,args = getopt.getopt(sys.argv[1:], "ho:", ["help", "output="])

# 例二
opts,args = getopt.getopt(sys.argv[1:], "-h-o", ["help", "output"])

解释

语法格式为 getopt.getopt(sys.argv[1:],...),

getopt.getopt 为固定语法格式。

sys.argv[1:]  不把默认文件作为传入参数。

"ho:"/"-h-o":传入参数终端格式为“-n”,代码可简写为"nn",也可全写"-n-n","n:"带个":"符号表示,后面还要传一个值(不然会出错)。

["nnn","nnn="]:传入参数终端格式为“--nnn”,“nnn=”这个带“=”符号的好使,后面还要传一个值 比如 “ --nnn value”(不然会出错)。

分别有两个传入变量:opts,args : 

opts:表示传入的参数,已list传入,参数与value,没有设置value默认为"", 没有字符。

args:表示传入错误的参数,多出的一些错误格式参数会被这个args已list格式传入。


#
#  python3 test2.py -v --filename filename
#


import getopt
import sys

opts,args = getopt.getopt(sys.argv[1:],'-h-f:-v',['help','filename=','version'])
print(opts)
for opt_name,opt_value in opts:
    if opt_name in ('-h','--help'):
        print("[*] Help info")
        sys.exit()
    if opt_name in ('-v','--version'):
        print("[*] Version is 0.01 ")
        sys.exit()
    if opt_name in ('-f','--filename'):
        fileName = opt_value
        print("[*] Filename is ",fileName)
        # do something
        sys.exit()
案例

 

posted @ 2019-06-28 15:28  kevin.Xiang  阅读(488)  评论(0编辑  收藏  举报