最近,决定在一个项目用tp5进行APP接口开发,用Python做数据分析,然后这就面临一个问题:PHP和Python如何进行数据交互?
思路
我解决此问题的方法是利用了PHP的passthru函数来调用命令运行Python脚本。
代码
PHP代码
//php.php <"value"; #传递给python脚本的入口参数 $path="python python.py "; //需要注意的是:末尾要加一个空格 passthru($path.$params);//等同于命令`python python.py 参数`,并接收打印出来的信息 ?>
若存在多个参数,则参数之间以空格分开
Python代码
sys.argv[]用于获取到的PHP传入python的入口参数
//python.py import sys params = sys.argv[1] #即为获取到的PHP传入python的入口参数 print(params);
若在Python中接收多个参数
params = sys.argv[1:]
若要从Python中返回多个值,需要将值写入元组中,然后通过json.dumps()转化为json,并进行打印,PHP中通过passthru可以获得Python脚本打印的json
import sys import json params = ('Google', 'Runoob', 1997, 2000); json_str =json.dumps(params); print(json_str);
另需要在PHP中passthru前加@,否则会报以下提示
Notice: Array to string conversion in php.php on line 6
输出
浏览器中输出值为value
效果等同于
> python python.py value value //输出‘value'
PHP,Python,数据交互
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。