码迷,mamicode.com
首页 > 编程语言 > 详细

【Python】读取命令行参数、在PyDev中设置Python运行时的参数

时间:2015-08-05 20:29:26      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:python   命令行   参数   测试   遍历   

有时候,我们写的命令行程序需要批次执行,这里可以让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;

其中的for循环需要采取双变量的遍历。

opts,args数组,类似于一个key-value对数组。

通过遍历opts数组,能够把命令行后面的参数所取出。

如果要在Eclipse的PyDev环境运行上面的程序,可以采用如下图的方式,制定这个程序时所需要的参数:

右键相应的python文件,选择以……方式运行中的运行设置,在其中的Arguments中补上相应的参数就可以了。

技术分享

如果,在Programs arguments中写入:-h sdsad -i sdasdas上面的程序运行结果如下:

技术分享

如果制定其它参数,同样会报错

技术分享

版权声明:本文为博主原创文章,未经博主允许不得转载。

【Python】读取命令行参数、在PyDev中设置Python运行时的参数

标签:python   命令行   参数   测试   遍历   

原文地址:http://blog.csdn.net/yongh701/article/details/47301913

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!