浅析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中面向对象编程的相关知识
May 25 Python
python获取当前目录路径和上级路径的实例
Apr 26 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
Jan 05 Python
使用Python操作FTP实现上传和下载的方法
Apr 01 Python
python圣诞树编写实例详解
Feb 13 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
Feb 16 Python
使用python批量转换文件编码为UTF-8的实现
Apr 03 Python
Jupyter打开图形界面并画出正弦函数图像实例
Apr 24 Python
Python定时任务APScheduler原理及实例解析
May 30 Python
快速一键生成Python爬虫请求头
Mar 04 Python
教你如何用python开发一款数字推盘小游戏
Apr 14 Python
Python中glob库实现文件名的匹配
Jun 18 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投票程序源码
2007/03/11 PHP
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
Yii框架登录流程分析
2014/12/03 PHP
windows中为php安装mongodb与memcache
2015/01/06 PHP
php实现可逆加密的方法
2015/08/11 PHP
利用jquery包将字符串生成二维码图片
2013/09/12 Javascript
简单的js表单验证函数
2013/10/28 Javascript
javascript实现画不相交的圆
2015/04/07 Javascript
jQuery实现的经典竖向伸缩菜单效果代码
2015/09/24 Javascript
Bootstrap每天必学之下拉菜单
2015/11/25 Javascript
设计模式中的facade外观模式在JavaScript开发中的运用
2016/05/18 Javascript
ES6新特征数字、数组、字符串
2016/10/01 Javascript
SelecT下拉框选中和取值的解决方法
2016/11/22 Javascript
axios post提交formdata的实例
2018/03/16 Javascript
详解使用vue-admin-template的优化历程
2018/05/20 Javascript
详解vue-router 初始化时做了什么
2018/06/11 Javascript
react koa rematch 如何打造一套服务端渲染架子
2019/06/26 Javascript
小程序的上传文件接口的注意要点解析
2019/09/17 Javascript
基于vue+element实现全局loading过程详解
2020/07/10 Javascript
[36:33]Ti4 循环赛第四日 附加赛NEWBEE vs Mouz
2014/07/13 DOTA
python opencv实现旋转矩形框裁减功能
2018/07/25 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
2019/04/09 Python
python GUI实现小球满屏乱跑效果
2019/05/09 Python
Python 控制终端输出文字的实例
2019/07/12 Python
python利用dlib获取人脸的68个landmark
2019/11/27 Python
python+opencv实现移动侦测(帧差法)
2020/03/20 Python
Fossil美国官网:Fossil手表、手袋、珠宝及配件
2017/02/01 全球购物
英国最大的手表网站:The Watch Hut
2017/03/31 全球购物
Booking.com美国:全球酒店预订网站
2017/04/18 全球购物
Vans(范斯)德国官网:美国南加州的原创极限运动潮牌
2017/05/02 全球购物
马来西亚排名第一的宠物用品店:Pets Wonderland
2020/04/16 全球购物
什么是smarty? Smarty的优点是什么?
2013/08/11 面试题
电子商务网站的创业计划书
2014/01/05 职场文书
tensorflow中的数据类型dtype用法说明
2021/05/26 Python
css布局巧妙技巧之css三角示例的运用
2022/03/16 HTML / CSS
《英雄联盟》2022日蚀、月蚀皮肤演示 黑潮亚索曝光
2022/04/13 其他游戏