這篇文章給大家分享的是有關(guān)PHP與Python如何進(jìn)行數(shù)據(jù)交互的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。
成都網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(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ù)來(lái)調(diào)用命令運(yùn)行Python腳本。
實(shí)現(xiàn)
在PHP中調(diào)用命令運(yùn)行Python腳本
//php.php
若存在多個(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è)值,需要將值寫入元組中,然后通過(guò)json.dumps()轉(zhuǎn)化為json,并進(jìn)行打印,PHP中通過(guò)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ò),可以把它分享出去讓更多的人看到吧!