从php执行python代码并将返回值返回到php代码示例

时间:2016-10-23 14:16:14

标签: php python

我有一个python脚本和一个PHP脚本,我需要的是通过PHP执行python脚本,并且应该将python代码的返回值返回给PHP.Here是我的代码

<?php
$result1= passthru("python E:\naive-bayes-classifier-master\naiveBayesClassifier\return.py");

echo "return value is: $result1" . "\n";

 ?>

我使用提交按钮

通过另一个php脚本执行此操作

这是python代码

def add(a, b):
   # print "ADDING %d + %d" % (a, b)
    return a + b

def subtract(a, b):
   #print "SUBTRACTING %d - %d" % (a, b)
    return a - b

def multiply(a, b):
    #print "MULTIPLYING %d * %d" % (a, b)
    return a * b

def divide(a, b):
   # print "DIVIDING %d / %d" % (a, b)
    return a / b

if __name__ == '__main__':
    divide(10,2)

我得到的结果是

返回值为:

没有任何价值。请帮忙。谢谢你。 :)

2 个答案:

答案 0 :(得分:0)

最后我找到了这个问题的答案。在python代码中我只返回value.But它也应该打印。所以这里是修改过的python代码。希望这对大家都有用。

def add(a, b):
   # print "ADDING %d + %d" % (a, b)
    return a + b

def subtract(a, b):
   #print "SUBTRACTING %d - %d" % (a, b)
    return a - b

def multiply(a, b):
    #print "MULTIPLYING %d * %d" % (a, b)
    return a * b

def divide(a, b):
   # print "DIVIDING %d / %d" % (a, b)
    return a / b

if __name__ == '__main__':

   ret= divide(10,2)
   print("ret:",ret)

答案 1 :(得分:-1)

这适用于场景

而不是传递passthru

<?php 

$command = escapeshellcmd('E:\naive-bayes-classifier-master\naiveBayesClassifier\return.py');
$output = shell_exec($command);
echo $output;

?>

参考此Running a Python script from PHP