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

原创 2015年07月09日 10:08:07

  对于程序员而言,效率是日常工作中必须考虑的一个要点,优秀的编程习惯会大大减少工作时间以及精力,缩短开发周期。例如程序的执行,更多的程序员会选择简单快捷的命令行参数执行方式,而对于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“。

 


相关文章推荐

转变思维--使用Python生成Shell命令,批量执行程序

近日经常遇到在Linux shell中批量执行相似命令的情况。比如执行如下命令: gifsicle --delay=100 gif/App_1_hour_*_down.gif > combine_g...
  • vernice
  • vernice
  • 2015年06月13日 10:35
  • 2308

python不是内部命令或外部命令,也不是可执行程序解决方案

刚刚又装了一次软件,打开cmd输入python出现以下这种情况。 我的解决办法: 先将Python的安装路径复制,我的电脑->属性->高级系统设置->高级->环境变量->系统变量,在PATH...
  • lia17
  • lia17
  • 2017年07月24日 19:41
  • 168

Python 有两个内建的模块(getopt,optparse)用于处理命令行参数

Python 有两个内建的模块用于处理命令行参数: 一个是 getopt,《Deep in python》一书中也有提到,只能简单处理 命令行参数; 另一个是 optparse...

python模块学习---getopt(命令行参数处理)

1. sys.argv sys.argv为python的命令行参数列表,sys.argv[0]保存脚本的文件名,从参数1开始,sys.argv保存的是命令行的其他参数,len(sys.argv)...

Python 命令行参数和getopt模块详解

有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Python里,命令行的参数和C语言很类似(因为标准Python是用C语言实现的)。在C语言里,m...

python写的开机自动执行程序

  • 2009年10月13日 17:49
  • 1.43MB
  • 下载

-/bin/sh: [命令/可执行程序]:not found的解决办法

关于mini2440上-/bin/sh: 命令:not found的解决办法 我按照mini2440的移植手册移植了linux内核和文件系统不同的是我用的交叉编译器是最新的4.4.1而没有用天嵌...

Linux命令执行程序shell

  • 2010年11月25日 22:47
  • 4KB
  • 下载

PHP命令行执行程序php.exe参数说明

PHP命令行执行程序php.exe参数说明 -f :以命令行方式运行指定的PHP文件,只要指定具体的PHP文件(带绝对路径),php.exe就可以执行PHP文件,所以这个参数单个使用其实有没有都无所谓...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【python】命令参执行程序的开发利器--getopt模块
举报原因:
原因补充:

(最多只允许输入30个字)