浅析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 IDLE加上自动补全和历史功能
Nov 30 Python
python异常和文件处理机制详解
Jul 19 Python
Python通过OpenCV的findContours获取轮廓并切割实例
Jan 05 Python
python简单商城购物车实例代码
Mar 15 Python
Python类中方法getitem和getattr详解
Aug 30 Python
使用浏览器访问python写的服务器程序
Oct 10 Python
Python Collatz序列实现过程解析
Oct 12 Python
使用Python操作ArangoDB的方法步骤
Feb 02 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
May 11 Python
浅谈matplotlib中FigureCanvasXAgg的用法
Jun 16 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
Jun 18 Python
AI:如何训练机器学习的模型
Apr 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
咖啡豆要不要放冰箱的原因
2021/03/04 冲泡冲煮
Linux Apache PHP Oracle 安装配置(具体操作步骤)
2013/06/17 PHP
php接口和抽象类使用示例详解
2014/03/02 PHP
VPS中使用LNMP安装WordPress教程
2014/12/28 PHP
PHP输出两个数字中间有多少个回文数的方法
2015/03/23 PHP
php计算整个mysql数据库大小的方法
2015/06/19 PHP
PHP实现的多文件上传类及用法示例
2016/05/06 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
js实现权限树的更新权限时的全选全消功能
2009/02/17 Javascript
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
jQuery live
2009/05/15 Javascript
DD_belatedPNG,IE6下PNG透明解决方案(国外)
2010/12/06 Javascript
ASP.NET jQuery 实例3 (在TextBox里面阻止复制、剪切和粘贴事件)
2012/01/13 Javascript
Javascript查询DBpedia小应用实例学习
2013/03/07 Javascript
javascript相关事件的几个概念
2015/05/21 Javascript
实例详解jQuery Mockjax 插件模拟 Ajax 请求
2016/01/12 Javascript
微信小程序 安全包括(框架、功能模块、账户使用)详解
2017/01/16 Javascript
JS获得一个对象的所有属性和方法实例
2017/02/21 Javascript
js实现文件上传功能 后台使用MultipartFile
2018/09/08 Javascript
vueScroll实现移动端下拉刷新、上拉加载
2019/03/22 Javascript
vue中的mescroll搜索运用及各种填坑处理
2019/10/30 Javascript
[43:48]Ti4正赛第一天 VG vs NEWBEE 2
2014/07/19 DOTA
python中bisect模块用法实例
2014/09/25 Python
python监控文件并且发送告警邮件
2018/06/21 Python
Python爬虫PyQuery库基本用法入门教程
2018/08/04 Python
python web框架Flask实现图形验证码及验证码的动态刷新实例
2019/10/14 Python
Python拼接字符串的7种方式详解
2020/03/19 Python
利用python生成照片墙的示例代码
2020/04/09 Python
Python读取二进制文件代码方法解析
2020/06/22 Python
python制作微博图片爬取工具
2021/01/16 Python
美国爆米花工厂:The Popcorn Factory
2019/09/14 全球购物
酒店个人求职信范文
2014/01/25 职场文书
乡镇纠风工作实施方案
2014/03/22 职场文书
工商管理专业自荐信
2014/06/03 职场文书
美术第二课堂活动总结
2014/07/08 职场文书
Spring Data JPA框架的核心概念和Repository接口
2022/04/28 Java/Android