从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的返回代码呢?
抱歉问题有点长,但希望能帮助你理解我的困惑。
非常感谢!
2 个回答
0
你说得对,exit()的用法是正确的。你可以查看这个链接了解更多信息:http://docs.python.org/library/sys.html
15
在PHP中,你可以执行一个命令并获取返回的状态码,这个功能是通过 exec
来实现的。
exec
的 手册中提到,第三个参数是一个变量,用来存储返回的状态码,比如说:
exec('python blibble.py', $output, $ret_code);
$ret_code
将会是命令的返回状态码,而 $output
是一个数组,里面存储着输出的每一行文本。
根据你描述的情况,使用返回状态码是合适的,也就是说,返回0表示成功,而大于0的数字则表示不同类型的错误。