我在python 2.6上運行我的腳本。要求如下所述。我們可以發送一個元組作爲python的sys.exit()的參數:
在一個目錄中有大約100個測試腳本(所有的python腳本)。我必須創建一個主python腳本,它將開始逐個運行所有100個測試腳本,然後顯示測試用例是否失敗。每個腳本都會調用sys.exit()
來完成腳本的執行。目前,我正在閱讀主腳本中的sys.exit()
值,並確定特定測試用例是否失敗。
但現在有一個需求更改,我還必須顯示日誌文件名(我將在運行腳本時創建日誌文件)。那麼我可以發送一個元組作爲參數(它包含狀態以及日誌文件名)到sys.exit()
而不是發送整數值嗎?
我在網上讀過,如果我們傳遞一個整數以外的參數,None
等價於傳遞零,而其他任何對象都打印到stderr
並且導致退出代碼爲1.所以如果我傳遞一個元組作爲一個說法,即使在成功的情況下,os
也會被視爲失敗,因爲我沒有通過None
?
我在主腳本中使用subprocess.popen()
來運行腳本,我使用format()
來讀取sys.exit()
的值。
甲UNIX進程的退出狀態是單字節的整數值。即使您通過了其他任何事情,也無法將其用作退出狀態。 –
@CharlesDuffy Python [允許](https://docs.python.org/2/library/sys.html#sys.exit)將_any_對象傳遞給'sys.exit',這樣你也可以傳遞,例如,字符串來方便地設置一個錯誤信息被打印到'stderr'。它強制非整數對象退出狀態1。 –
@ Two-Bit Alchemist,......這個陳述與我所說的沒有任何矛盾。 –