关闭

【python】命令参执行程序的开发利器--getopt模块

标签: python脚本命令行getopt
211人阅读 评论(0) 收藏 举报
分类:

  对于程序员而言,效率是日常工作中必须考虑的一个要点,优秀的编程习惯会大大减少工作时间以及精力,缩短开发周期。例如程序的执行,更多的程序员会选择简单快捷的命令行参数执行方式,而对于python而言,模块getopt正好可以用来执行该问题。

  模块提供的两个函数中,getopt(args, options[, long_options])函数是命令行执行的核心。在代码中可有如下格式:

options,args=getopt.getopt(sys.argv[1:],"hi:o:",["help","input=","ouput="])
  函数参数分别为命令行输入参数的字符串,单字母参数集,多字母参数集。返回值分两部分,第一部分是格式为(option,value)的元组,第二部分为输入参数的剩余无用部分。可能大家看到这边有点糊涂。我们利用一个例子讲解:

options,args=getopt.getopt(sys.argv[1:],"hi:o:",["help","input=","ouput="])

for option,value in options:
    if option in ("-h","help"):
        print helpFormation
    if option in ("-i","input="):
        print "input is:",value
    if option in ("-o","output="):
        print "output is:",value
 
  在cmd输入参数可以是:python demo.py -h -i abc -o cba

                                          python demo.py help input=abc output=cba

  通过例子可以更加清晰的理解。

  函数getopt()的第二参数代表单字母参,后边不跟冒号代表输入时必须不跟相应参数,比如”python demo.py -h“;跟冒号代表输入时必须跟相应参数,比如”python demo.py -i abc“

第三参数代表多字母参,后边不跟等号代表输入时必须不跟相应参数,比如”python demo.py help“;跟等号代表输入时必须跟相应参数,比如”python demo.py input=abc“。

  其返回值将分两部分,第一部分为元组,其形式如:[("-h",),("-i","abc"),("-o","output")],第二部分为输入输入参数剩余字符串。如果输入参数为”python demo.py -h -i abc -o cba abcdefg“,那么args将是”abcdefg“。

 


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:786次
    • 积分:27
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档