我正在從PHP調用一個python腳本。從PHP調用Python並獲取返回代碼
python程序必須根據傳遞給它的參數返回一些值。
下面是一個簡單的Python程序,它會給你什麼,我目前在做一個基本思想:
#!/usr/bin/python
import sys
#get the arguments passed
argList = sys.argv
#Not enough arguments. Exit with a value of 1.
if len(argList) < 3:
#Return with a value of 1.
sys.exit(1)
arg1 = argList[1]
arg2 = argList[2]
#Check arguments. Exit with the appropriate value.
if len(arg1) > 255:
#Exit with a value of 4.
sys.exit(4)
if len(arg2) < 2:
#Exit with a value of 8.
sys.exit(8)
#Do further coding using the arguments------
#If program works successfully, exit with a value of 0
正如你可以從上面的代碼看,我的基本目的是
- python程序根據參數返回一些值(0,1,4,8等)。
- 然後調用PHP程序來訪問這些返回的值並執行相應的操作。
目前我已經使用「sys.exit(n)」,爲此目的。
我是否正確使用sys.exit,還是需要使用別的東西?
還有什麼方法存在於PHP中,以便我可以從python訪問返回代碼?
很抱歉的長期問題,但希望它會在你瞭解我的困境
由於一噸
非常感謝PHP函數(exec)以獲取返回值。 但是,我還需要在sys.exit(n)上進行確認。 將值(n)返回到「$ ret_code」?或者我應該使用另一種方式返回並退出python程序? 再次感謝 – seaboy 2010-04-28 03:35:55
只需確認sys.exit(n)將值返回給shell。 在linux中,它可以通過「echo $?」輸出。在Windows中:「echo%ERRORLEVEL%」。無法在「$ ret_code」中確認它的值,但它解決了我的問題的python部分。再次感謝 – seaboy 2010-04-28 05:37:50
是的,應該通過PHP exec命令將sys.exit值存儲在返回代碼參數中。我不知道如何調用Python,但是我通過這種方法調用Java和其他命令來使用它。 – JAL 2010-04-28 16:18:47