浅析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标准库os.path包、glob包使用实例
Nov 25 Python
Python中Continue语句的用法的举例详解
May 14 Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
May 21 Python
Python 找到列表中满足某些条件的元素方法
Jun 26 Python
对python添加模块路径的三种方法总结
Oct 16 Python
对django 模型 unique together的示例讲解
Aug 06 Python
python的slice notation的特殊用法详解
Dec 27 Python
Python线程协作threading.Condition实现过程解析
Mar 12 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
Apr 07 Python
Python3 webservice接口测试代码详解
Jun 23 Python
python 使用tkinter+you-get实现视频下载器
Nov 17 Python
如何利用python正则表达式匹配版本信息
Dec 09 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查询快递信息的方法
2015/03/07 PHP
CodeIgniter读写分离实现方法详解
2016/01/20 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
短信提示使用 特效
2007/01/19 Javascript
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
基于jquery的$.ajax async使用
2011/10/19 Javascript
js获取html页面节点方法(递归方式)
2013/12/13 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
二叉树先序遍历的非递归算法具体实现
2014/01/09 Javascript
浅谈Unicode与JavaScript的发展史
2015/01/19 Javascript
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
浅谈使用splice函数对数组中的元素进行删除时的注意事项
2016/12/04 Javascript
JQuery统计input和textarea文字输入数量(代码分享)
2016/12/29 Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
2017/03/02 Javascript
JS正则验证多个邮箱完整实例【邮箱用分号隔开】
2017/04/19 Javascript
详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
2017/05/02 Javascript
理解 Node.js 事件驱动机制的原理
2017/08/16 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
JavaScript寄生组合式继承原理与用法分析
2019/01/11 Javascript
Django实现发送邮件功能
2019/07/18 Python
Django之使用celery和NGINX生成静态页面实现性能优化
2019/10/08 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
2020/02/12 Python
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
2018/01/08 HTML / CSS
迪斯尼商品官方网站:ShopDisney
2016/08/01 全球购物
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
管理科学大学生求职信
2013/11/13 职场文书
淘宝网店营销策划书
2014/01/11 职场文书
秋季运动会活动方案
2014/02/05 职场文书
《老山界》教学反思
2014/04/08 职场文书
综治维稳工作承诺书
2014/08/30 职场文书
2014最新毕业证代领委托书
2014/09/26 职场文书
财产分割协议书范本
2014/11/03 职场文书
2015年人事工作总结范文
2015/04/09 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书
Python入门之使用pandas分析excel数据
2021/05/12 Python