有时候,我们写的命令行程序需要批次执行,这里可以让Python程序读取命令行参数,再编写一个命令行批次执行脚本.bat,实际上就是一个充满命令的、改了后缀名的文本文件,在多个测试用例扔进Python程序中是非常有用的。
例如,如下图,有一个cmdArgs.py程序,当在python cmdArgs.py 后面带上-h -i,程序则输出-h与-i参数,后面所带内容:
如果输入其它参数,比如这里多出来的-u参数,程序是自动报错的。
这个cmdArgs.py的代码如下,十分简单:
#-*-coding:utf-8-*- import sys,getopt opts,args=getopt.getopt(sys.argv[1:], "h:i:") #"h:i:"指明本程序只接受-h -i的参数 #sys.argv[1:]为要处理的参数列表,sys.argv[0]为脚本名,所以只取sys.argv[1:]部分,过滤掉脚本名 for op,value in opts: if op=="-i": print "-i values is:"+value;#此处的value就是-i的值 if op=="-h": print "-h values is:"+value;
opts,args数组,类似于一个key-value对数组。
通过遍历opts数组,能够把命令行后面的参数所取出。
如果要在Eclipse的PyDev环境运行上面的程序,可以采用如下图的方式,制定这个程序时所需要的参数:
右键相应的python文件,选择以……方式运行中的运行设置,在其中的Arguments中补上相应的参数就可以了。
如果,在Programs arguments中写入:-h sdsad -i sdasdas上面的程序运行结果如下:
如果制定其它参数,同样会报错
版权声明:本文为博主原创文章,未经博主允许不得转载。
【Python】读取命令行参数、在PyDev中设置Python运行时的参数
原文地址:http://blog.csdn.net/yongh701/article/details/47301913