2014-03-01 33 views
0

我有一個python文件a.py.我使用sys.exit(some_val)從文件返回。如何在python中從其他程序中捕獲sys.exit值

現在,我多了一個文件b.py,從我執行a.py象下面這樣:

proc = subprocess.Popen(cmd, stdout = subprocess.PIPE, stderr = subprocess.PIPE, shell = True) 
output, error = proc.communicate() 

能否請您讓我知道如果有什麼辦法來獲取值(其中是從b.py使用a.py中的sys.exit()返回的?

回答

3

使用proc.returncode

print "a.py exited with code {0}".format(proc.returncode) 
+1

優秀。有效。感謝您的幫助aknuds1。 – kadina

0

您可以從proc.returncode獲得的返回碼,但調用通過從另一個子Python程序Python程序似乎STANGE的事情......

+0

是的。但是有大約100個測試用例文件。我沒有手動運行每個腳本,而是編寫了一個腳本,它將逐個運行所有測試用例。爲此,我使用了子進程。 – kadina

+1

@kadina:你可以使用'nose','py.test','unittest'來發現和運行測試。 – jfs

相關問題