Python - 如何检查多个py文件的打印输出?

时间:2016-08-17 08:32:34

标签: python

我在单独的.py文件中有许多测试用例,我想在我创建的模块上测试。所有这些文件都使用我创建的py模块,所有这些py文件将打印一个预先确定的输出(有些数千行)。

有没有办法运行运行这些其他测试.py脚本的.py脚本并检查输出?我研究过doctest和unittests,但是这些与特定函数有关而不是py脚本?

编辑:这些py文件打印输出而不是返回值。其中一些还使用多线程。

2 个答案:

答案 0 :(得分:1)

试试这个

import glob
lst = glob.glob("/home/test/*.py")

for each_file in lst:
   variables= {} #what ever variables to need run
   execfile(each_file, variables )

答案 1 :(得分:1)

您需要做的是,您将通过

调用这些脚本

subprocess.Popen(['python',file_name],universal_newlines=True,stdout=stdout, stderr=stderr)

这些stdoutstderr都是文件对象,他们会将结果写入这些文件。然后,您可以使用sleep()获得您认为最合适的时间。

之后,您可以打开这些文件并检查结果。

阅读有关子流程here的更多信息。