启动外部程序python

启动外部程序python,python,external,launch,Python,External,Launch,嗨,我被要求写一个程序,启动一个外部程序来测试这个程序。 我在一个文件中编写了一个python方法,并将其导入到另一个文件中,并为其编写了测试用例 但我需要启动一个外部程序 有人能帮我解释一下这是什么以及怎么做吗?您可能对操作系统库感兴趣。随python提供,导入os,然后可以使用os.systemunix终端命令ex 编辑: 不确定为什么子进程不工作,但popen应该捕获与其他类一起打印的所有内容 result = os.popen('python /path/to/file.py').rea

嗨,我被要求写一个程序,启动一个外部程序来测试这个程序。 我在一个文件中编写了一个python方法,并将其导入到另一个文件中,并为其编写了测试用例

但我需要启动一个外部程序


有人能帮我解释一下这是什么以及怎么做吗?

您可能对操作系统库感兴趣。随python提供,导入os,然后可以使用os.systemunix终端命令ex

编辑:

不确定为什么子进程不工作,但popen应该捕获与其他类一起打印的所有内容

result = os.popen('python /path/to/file.py').read()
print result

你能告诉我你试过什么吗?请与usI共享您的代码我已经更新了我在问题中编写的代码,请帮助。SUT应该是一个外部应用程序。我是作为python程序写的,我不知道该怎么做。你可能对nose Library感兴趣谢谢Mark,我实际上看过那篇文章。在Mac上使用Python2.7时,子进程不起作用。我也通过传递参数尝试了os.popenpython/path/to/fileToRun.py 1,但它不接受参数。虽然技术上正确,但建议在os.system上使用子进程。好的一点,子进程扩展了os库的功能,谢谢。sut中的方法有两个参数,我还想在log.log文件中捕获stdout和stderr。我是否需要使用:subprocess.check_outputpython/pathtoSUT,'a','b',stdout=subprocess.stdout,stderr=subprocess.stdout,shell=false我还需要检查sut程序的返回值subprocess在使用python 2.7的Mac上不起作用。我尝试使用os.popenpython/path/to/fileToRun.py 1也传递参数,但它没有通过获取参数返回输出。
result = os.popen('python /path/to/file.py').read()
print result