浅析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 相关文章推荐
python3实现UDP协议的服务器和客户端
Jun 14 Python
Python中关于Sequence切片的下标问题详解
Jun 15 Python
Python连接phoenix的方法示例
Sep 29 Python
解决nohup重定向python输出到文件不成功的问题
May 11 Python
Python实现Mysql数据统计及numpy统计函数
Jul 15 Python
Pycharm 安装 idea VIM插件的图文教程详解
Feb 21 Python
python目标检测给图画框,bbox画到图上并保存案例
Mar 10 Python
Python发起请求提示UnicodeEncodeError错误代码解决方法
Apr 21 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
Apr 22 Python
使用python爬取抖音app视频的实例代码
Dec 01 Python
用python批量下载apk
Dec 29 Python
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
Jun 11 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
PHP 登录记住密码实现思路
2013/05/07 PHP
php图片缩放实现方法
2014/02/20 PHP
php按单词截取字符串的方法
2015/04/07 PHP
yii2带搜索功能的下拉框实例详解
2016/05/12 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
PHP命令Command模式用法实例分析
2018/08/08 PHP
Prototype框架详解
2015/11/25 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
2016/01/27 Javascript
AngularJS 简单应用实例
2016/07/28 Javascript
jQuery ajax的功能实现方法详解
2017/01/06 Javascript
javascript基础知识讲解
2017/01/11 Javascript
手把手教你vue-cli单页到多页应用的方法
2018/05/31 Javascript
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
2019/04/12 Javascript
vue服务端渲染操作简单入门实例分析
2019/08/28 Javascript
微信小程序 (地址选择1)--选取搜索地点并显示效果
2019/12/17 Javascript
Python中单例模式总结
2018/02/20 Python
基于python list对象中嵌套元组使用sort时的排序方法
2018/04/18 Python
python numpy数组的索引和切片的操作方法
2018/10/20 Python
使用python接入微信聊天机器人
2020/03/31 Python
opencv实现简单人脸识别
2021/02/19 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
业务员薪酬管理制度
2014/01/15 职场文书
个人公开承诺书
2014/03/28 职场文书
护校行动方案
2014/05/31 职场文书
管理标语大全
2014/06/24 职场文书
民主评议党员自我评价材料
2014/09/18 职场文书
作文批改评语
2014/12/25 职场文书
2015年信访维稳工作总结
2015/04/07 职场文书
大学迎新生欢迎词
2015/09/29 职场文书
2016年大学迎新晚会工作总结
2015/10/15 职场文书
《悬崖边的树》读后感2篇
2019/12/02 职场文书
CSS3实现的水平标题菜单
2021/04/14 HTML / CSS
React 并发功能体验(前端的并发模式)
2021/07/01 Javascript
python playwright 自动等待和断言详解
2021/11/27 Python
python pandas 解析(读取、写入)CSV 文件的操作方法
2022/12/24 Python
python缺失值填充方法示例代码
2022/12/24 Python