0

我有一个测试套件功能runTests.py,我从这个文件运行测试:

def suite():
    suite.addTest(makeSuite(Class1))
    suite.addTest(makeSuite(Class2))
    ...
    suite.addTest(makeSuite(ClassN))

if __name__ == '__main__':
    # grab argument from the command line and
    # initiate myVar1 and myVar2 here before running the suite
    # run the suite here

我想要的是从命令行读取参数并在内部启动它们,就在我在语句runTests.py中运行套件之前。if这些变量也将在Class1,Class2等内部使用。

如果在runTests.py套件定义之前我有以下内容,这是否正确

myVar1 = 'defaultValue'
myVar2 = 'defaultValue'

然后在if语句中从命令行获取参数并初始化myVar1and myVar2。所以在其他类中,例如Class1,我会像这样导入它:

from runTests import myVar1
from runTests import myVar2

基本上,我想要的是从命令行读取一些参数,并能够在其他类中使用这些值。谢谢!

4

3 回答 3

0
import sys
params = sys.argv

sys.argv 会给你一个列表

$ python myproram.py var1 var2 var3

sys.argv[0] => myprogram.py

sys.argv[1] => var1

sys.argv[2] => var2

ETC

您可以在任何课程中访问它

于 2012-06-20T16:45:31.270 回答
0
from os import sys


class addc:
    def __init__(self , no1 , no2):
        self.no1 = no1
        self.no2 = no2
    def addition(self):
        total = self.no1 + self.no2
        return total



if len (sys.argv) !=3:
    print "no u cant go forwrd"
    print "agument is less"
    sys.exit()

obj_initial = addc(2 , 3 ) 
ans1 = obj_initial.addition() 
print " the total of internla argumnet is %i"%ans1

cmnd_argu1 = int(sys.argv[1]) 
cmnd_argv2 = int (sys.argv[2])

obj_cmnd_argu = addc(cmnd_argu1 , cmnd_argv2)
ans2_cmnd_argu = obj_cmnd_argu.addition()
print " the total of internla argumnet is %i" % int(ans2_cmnd_argu)
于 2012-06-20T18:42:28.463 回答
0

我最终从有效的stackoverflow中使用了它。基本上,将我的共享变量放入一个新文件中myVar1,然后为变量赋值,如下所示:myVar2myfile.pyimport myfilerunTests.py

myfile.myVar1 = sys.argv[1]

在其他需要使用的文件中myVar1import myfile使用如下变量:

myfile.myVar1
于 2012-06-20T19:15:33.007 回答