浅析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 CSV模块使用实例
Apr 09 Python
python获取当前运行函数名称的方法实例代码
Apr 06 Python
python实现稀疏矩阵示例代码
Jun 09 Python
深入理解python中sort()与sorted()的区别
Aug 29 Python
python实现录音小程序
Oct 26 Python
python获取指定日期范围内的每一天,每个月,每季度的方法
Aug 08 Python
基于Django框架的权限组件rbac实例讲解
Aug 31 Python
pygame实现贪吃蛇游戏(下)
Oct 29 Python
python数据类型强制转换实例详解
Jun 22 Python
python实现将中文日期转换为数字日期
Jul 14 Python
Pycharm安装Qt Design快捷工具的详细教程
Nov 18 Python
Python自动操作神器PyAutoGUI的使用教程
Jun 16 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网页标题中文乱码的有效解决方法
2014/03/05 PHP
JS解密入门之凭直觉解
2008/06/25 Javascript
js正则表达式验证邮件地址
2015/11/12 Javascript
JavaScript html5 canvas绘制时钟效果(二)
2016/03/27 Javascript
javascript原型继承工作原理和实例详解
2016/04/07 Javascript
JS弹出新窗口被拦截的解决方法
2016/08/09 Javascript
HTML5 js实现拖拉上传文件功能
2020/11/20 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
jQuery中map函数的两种方式
2017/04/07 jQuery
jQuery制作input提示内容(兼容IE8以上)
2017/07/05 jQuery
vue生成随机验证码的示例代码
2017/09/29 Javascript
vue中使用sessionStorage记住密码功能
2018/07/24 Javascript
python切换hosts文件代码示例
2013/12/31 Python
python批量提取word内信息
2015/08/09 Python
深入解析Python中的list列表及其切片和迭代操作
2016/03/13 Python
python 如何快速找出两个电子表中数据的差异
2017/05/26 Python
Python 实现数据库(SQL)更新脚本的生成方法
2017/07/09 Python
pip安装Python库时遇到的问题及解决方法
2017/11/23 Python
python实现批量修改图片格式和尺寸
2018/06/07 Python
python爬取足球直播吧五大联赛积分榜
2018/06/13 Python
Python元组知识点总结
2019/02/18 Python
Django model update的多种用法介绍
2020/03/28 Python
Win10 安装PyCharm2019.1.1(图文教程)
2019/09/29 Python
Python猴子补丁Monkey Patch用法实例解析
2020/03/23 Python
如何使用Python处理HDF格式数据及可视化问题
2020/06/24 Python
完美解决Pycharm中matplotlib画图中文乱码问题
2021/01/11 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
2021/02/04 Python
巧用CSS3 border实现图片遮罩效果代码
2012/04/09 HTML / CSS
使用CSS3来绘制一个月食图案
2015/07/18 HTML / CSS
HTML5新标签兼容——&gt; 的两种方法
2018/09/12 HTML / CSS
英国领先的酒杯和水晶玻璃器皿制造商:Dartington Crystal
2019/06/23 全球购物
采用怎样的方法保证数据的完整性
2013/12/02 面试题
趣味运动会策划方案
2014/06/02 职场文书
催款函范本大全
2015/06/24 职场文书
五年级语文教学反思
2016/03/03 职场文书
Python函数式编程中itertools模块详解
2021/09/15 Python