PHP與Python如何進(jìn)行數(shù)據(jù)交互

這篇文章給大家分享的是有關(guān)PHP與Python如何進(jìn)行數(shù)據(jù)交互的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。

成都網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序設(shè)計(jì)、集團(tuán)企業(yè)網(wǎng)站設(shè)計(jì)等服務(wù)項(xiàng)目。核心團(tuán)隊(duì)均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:成都木屋等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時(shí)也獲得了客戶的一致贊許!

思路

我解決此問題的方法是利用了PHP的passthru函數(shù)來調(diào)用命令運(yùn)行Python腳本。

實(shí)現(xiàn)

在PHP中調(diào)用命令運(yùn)行Python腳本

//php.php
<?php
$params = "value"; #傳遞給python腳本的入口參數(shù)  
$path="python python.py "; //需要注意的是:末尾要加一個(gè)空格
passthru($path.$params);//等同于命令`python python.py 參數(shù)`,并接收打印出來的信息 
?>

若存在多個(gè)參數(shù),則參數(shù)之間以空格分開

在Python中接收PHP傳入的參數(shù)

sys.argv[]用于獲取到的PHP傳入python的入口參數(shù)

//python.py
import sys  
params = sys.argv[1] #即為獲取到的PHP傳入python的入口參數(shù)
print(params);

若在Python中接收多個(gè)參數(shù)

params = sys.argv[1:]

從Python中返回參數(shù)

若要從Python中返回多個(gè)值,需要將值寫入元組中,然后通過json.dumps()轉(zhuǎn)化為json,并進(jìn)行打印,PHP中通過passthru可以獲得Python腳本打印的json

import sys
import json
params = ('Google', 'Runoob', 1997, 2000);
json_str =json.dumps(params);
print(json_str);

另需要在PHP中passthru前加@,否則會(huì)報(bào)以下提示

Notice: Array to string conversion in php.php on line 6

效果

運(yùn)行調(diào)用Python腳本的PHP文件,瀏覽器中輸出值為Python打印的值。

感謝各位的閱讀!關(guān)于PHP與Python如何進(jìn)行數(shù)據(jù)交互就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

網(wǎng)站欄目:PHP與Python如何進(jìn)行數(shù)據(jù)交互
網(wǎng)站URL:http://muchs.cn/article48/ihchhp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、移動(dòng)網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、網(wǎng)站營銷、靜態(tài)網(wǎng)站、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站