2012-01-04 61 views
6

我對Python和bash都比較陌生。不過,我發現Python比bash更直觀更簡單。我有幾個bash腳本,我已經設法拼湊在一起,但我想用Python腳本替換它們 - 爲了便於維護等。如何從另一個python腳本運行python腳本並獲取返回的狀態碼?

bash腳本本質上運行python腳本,檢查返回的狀態代碼並採取適當的行動(例如,記錄消息,發送電子郵件等) - 這是我可以在大多數情況下可以重現的功能。

我不知道該怎麼做的一件事是如何從另一個python腳本運行python腳本並獲取返回的狀態碼。

任何人都可以在這裏發佈一個片段,將展示如何從主python腳本「master.py」運行一個小的Python腳本「test.py」,並正確地從master.py運行test.py後取回返回碼?

+2

您可以隨時導入另一個python程序(即:在運行代碼的同一目錄中具有'test.py',並調用:import test)輕鬆運行二級代碼,但它不會管理您的返回代碼業務 – 2012-01-04 09:34:11

回答

6

使用subprocess模塊

master.py

import subprocess 
retcode = subprocess.call(["/usr/bin/python", "/path/to/test.py"]) 
print "Return code of test.py is ", retcode 
+0

太棒了!這正是我所需要的。 – 2012-01-04 10:20:53

0

我建議你看看在Python的子模塊。您可以使用它開始另一個進程,操縱它的流並獲取返回代碼。

相關問題