簡體   English   中英

從php執行python代碼並將返回值取回php代碼示例

[英]execute a python code from php and take the return value back to the php code example

我有一個 python 腳本和一個 PHP 腳本,我需要的是通過 PHP 執行 python 腳本,並且應該將 python 代碼的返回值返回給 PHP。這是我的代碼

<?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)

我得到的結果是

返回值是:

沒有任何價值。請幫忙。提前謝謝。 :)

最后我找到了這個問題的答案。在python代碼中我只返回值。但它也應該打印出來。所以這里是修改后的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)

這將適合場景

而不是通過

<?php 

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

?>

請參閱從PHP運行Python腳本

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM