2011-07-28 88 views
0

目前我尝试创建一个单元测试,它打开一个文件(与相应的应用程序),然后测试运行应该等到程序关闭。Python单元测试:打开并等待,直到程序关闭

def test_HFG(self): 
#.... 
print "please edit this file" 
os.chdir(r'C:\test\a') 
os.startfile("myfile.vdx") 
# here I need a "stop until the program is closed"-function 
#.... 

有没有人有任何想法如何实现(尽可能简单)我的计划?

回答

0
​​3210

只是让他告诉你,当他做,最简单的方法我能想象

3

os.startfile,当然,完全无阻塞没有选择等待。

我建议使用subprocess模块,调用Windows的“开始”命令打开文件的关联对象,它与os.startfile的功能相同,但允许您等待该过程完成。

例如为:

subprocess.call(["start", my_file]) 
1

os.startfile文档明确地说:

startfile()只要相关应用程序启动返回。 没有选择等待应用程序关闭,并没有办法 检索应用程序的退出状态

所以,我建议您使用其他方法,如通过subprocess.Popen启动它,这确实让你等到子过程完成。

相关问题