2011-07-28 133 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啓動它,這確實讓你等到子過程完成。

相關問題