浅析PHP与Python进行数据交互


Posted in Python onMay 15, 2018

最近,决定在一个项目用tp5进行APP接口开发,用Python做数据分析,然后这就面临一个问题:PHP和Python如何进行数据交互?

思路

我解决此问题的方法是利用了PHP的passthru函数来调用命令运行Python脚本。

代码

PHP代码

//php.php
<?php
$params = "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'
Python 相关文章推荐
python针对excel的操作技巧
Mar 13 Python
实例介绍Python中整型
Feb 11 Python
Python 实现数据结构中的的栈队列
May 16 Python
python 计算平均平方误差(MSE)的实例
Jun 29 Python
Python Pandas分组聚合的实现方法
Jul 02 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
Feb 28 Python
python 多线程死锁问题的解决方案
Aug 25 Python
PyQt5结合matplotlib绘图的实现示例
Sep 15 Python
Python绘制分类图的方法
Apr 20 Python
简单介绍Python的第三方库yaml
Jun 18 Python
http通过StreamingHttpResponse完成连续的数据传输长链接方式
Feb 12 Python
Django数据库(SQlite)基本入门使用教程
Jul 07 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
May 15 #Python
django自带的server 让外网主机访问方法
May 14 #Python
Python中利用xpath解析HTML的方法
May 14 #Python
利用pyinstaller将py文件打包为exe的方法
May 14 #Python
django的登录注册系统的示例代码
May 14 #Python
django允许外部访问的实例讲解
May 14 #Python
运行django项目指定IP和端口的方法
May 14 #Python
You might like
《猛禽小队》:DC宇宙的又一超级大烂片
2020/04/09 欧美动漫
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
php封装json通信接口详解及实例
2017/03/07 PHP
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
2011/09/26 Javascript
非主流的textarea自增长实现js代码
2011/12/20 Javascript
Javascript跨域请求的4种解决方式
2013/03/17 Javascript
location.href用法总结(最主要的)
2013/12/27 Javascript
一张表格告诉你windows.onload()与$(document).ready()的区别
2014/05/16 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
2015/10/30 Javascript
详解vue2.0 资源文件assets和static的区别
2018/11/27 Javascript
vue动态注册组件实例代码详解
2019/05/30 Javascript
微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能
2019/09/26 Javascript
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
浅谈Python 中整型对象的存储问题
2016/05/16 Python
Python用Bottle轻量级框架进行Web开发
2016/06/08 Python
Python可变参数用法实例分析
2017/04/02 Python
Python 正则表达式实现计算器功能
2017/04/29 Python
python万年历实现代码 含运行结果
2017/05/20 Python
解决Linux系统中python matplotlib画图的中文显示问题
2017/06/15 Python
HTML中使用python屏蔽一些基本功能的方法
2017/07/07 Python
使用paramiko远程执行命令、下发文件的实例
2017/10/01 Python
python文件选择对话框的操作方法
2019/06/27 Python
python 实现在一张图中绘制一个小的子图方法
2019/07/07 Python
python之随机数函数的实现示例
2020/12/30 Python
Pytorch 图像变换函数集合小结
2021/02/01 Python
详解css3自定义滚动条样式写法
2017/12/25 HTML / CSS
家用个人磨皮机:Trophy Skin
2017/03/30 全球购物
美国存储和组织商店:The Container Store
2017/08/16 全球购物
Otticanet英国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/02/10 全球购物
大学生学习党课思想汇报
2014/01/03 职场文书
保护环境标语
2014/06/09 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
课程设计的心得体会
2014/09/03 职场文书
尊师重教演讲稿
2014/09/04 职场文书
妇产科护理心得体会
2016/01/22 职场文书