浅析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发送arp欺骗攻击代码分析
Jan 16 Python
Python守护线程用法实例
Jun 23 Python
python timestamp和datetime之间转换详解
Dec 11 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
Apr 18 Python
利用python如何处理nc数据详解
May 23 Python
Python基于OpenCV实现人脸检测并保存
Jul 23 Python
基于 Django 的手机管理系统实现过程详解
Aug 16 Python
自定义django admin model表单提交的例子
Aug 23 Python
pandas数据处理进阶详解
Oct 11 Python
Pytorch之view及view_as使用详解
Dec 31 Python
Python打印不合法的文件名
Jul 31 Python
详解Python高阶函数
Aug 15 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 simple_html_dom.php+正则 采集文章代码
2009/12/24 PHP
php模拟asp中的XmlHttpRequest实现http请求的代码
2011/03/24 PHP
thinkPHP模板中函数的使用方法示例
2016/11/30 PHP
Ext.MessageBox工具类简介
2009/12/10 Javascript
js三种排序算法分享
2012/08/16 Javascript
jquery实现的网页自动播放声音
2014/04/30 Javascript
js的回调函数详解
2015/01/05 Javascript
JavaScript function函数种类详解
2016/02/22 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
2017/01/01 Javascript
解决vue 按钮多次点击重复提交数据问题
2018/05/10 Javascript
Nodejs模块的调用操作实例分析
2018/12/25 NodeJs
Node.js折腾记一:读指定文件夹,输出该文件夹的文件树详解
2019/04/20 Javascript
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
2020/11/19 Vue.js
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
JavaScript代码实现简单计算器
2020/12/27 Javascript
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
2019/04/29 Python
深入浅析python的第三方库pandas
2020/02/13 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
2020/11/17 Python
python 将html转换为pdf的几种方法
2020/12/29 Python
不同浏览器对CSS3和HTML5的支持状况
2009/10/31 HTML / CSS
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
单位消防安全制度
2014/01/12 职场文书
高一生物教学反思
2014/01/17 职场文书
高中军训感言600字
2014/03/11 职场文书
幼儿老师求职信
2014/06/30 职场文书
2015年幼儿园新年寄语
2014/12/08 职场文书
2015年银行柜员工作总结报告
2015/04/01 职场文书
2015年护士长个人工作总结
2015/04/24 职场文书
2015秋季运动会通讯稿
2015/07/18 职场文书
遗嘱范文
2015/08/07 职场文书
《春酒》教学反思
2016/02/22 职场文书
导游词之长城八达岭
2019/09/24 职场文书
MySQL定时备份数据库(全库备份)的实现
2021/09/25 MySQL
Appium中scroll和drag_and_drop根据元素位置滑动
2022/02/15 Python