一尘不染

从PHP调用Python并获取返回码

php

我正在从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

从上面的代码中可以看到,我的基本目标是

  1. 让python程序根据参数返回一些值(0、1、4、8等)。
  2. 然后,调用PHP的程序访问这些返回的值并执行适当的操作。

目前,我已经为此目的使用了“ sys.exit(n)”。

我使用sys.exit是否正确,还是需要使用其他东西?

还有PHP中存在什么方法,以便我可以从python访问返回代码?

很抱歉,这个问题很长,但希望它能帮助您了解我的困境

万分感谢


阅读 423

收藏
2020-05-29

共1个答案

一尘不染

在PHP中,您可以执行命令并使用返回代码exec

手册进行exec说,第三个参数是在返回代码将被存储在可变的,例如

exec('python blibble.py', $output, $ret_code);

$ret_code将是外壳程序的返回码,并且$output是打印到std的文本行的数组。输出。

这确实适合您所描述的返回码,即0表示成功,而> 0是各种错误类型的代码。

2020-05-29