浅析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 22 Python
Python读取mp3中ID3信息的方法
Mar 05 Python
Python 模块EasyGui详细介绍
Feb 19 Python
浅谈python中字典append 到list 后值的改变问题
May 04 Python
python 中字典嵌套列表的方法
Jul 03 Python
Python切片操作深入详解
Jul 27 Python
python分批定量读取文件内容,输出到不同文件中的方法
Dec 08 Python
Python3列表内置方法大全及示例代码小结
May 10 Python
Python传递参数的多种方式(小结)
Sep 18 Python
python的等深分箱实例
Nov 22 Python
浅谈在django中使用redirect重定向数据传输的问题
Mar 13 Python
用Python爬取英雄联盟的皮肤详细示例
Dec 06 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自动跳转中英文页面
2008/07/29 PHP
php mssql 时间格式问题
2009/01/13 PHP
探讨方法的重写(覆载)详解
2013/06/08 PHP
PHP整合PayPal支付
2015/06/11 PHP
PHP信号量基本用法实例详解
2016/02/12 PHP
Prototype源码浅析 Number部分
2012/01/16 Javascript
jQuery 自定义函数写法分享
2012/03/30 Javascript
jQuery取得设置清空select选择的文本与值
2014/07/08 Javascript
jquery向上向下取整适合分页查询
2014/09/06 Javascript
Jquery跨浏览器文本复制插件Zero Clipboard的使用方法
2016/02/28 Javascript
javascript jquery对form元素的常见操作详解
2016/06/12 Javascript
ES6记录异步函数的执行时间详解
2016/08/31 Javascript
Javascript 获取鼠标当前的位置实现方法
2016/10/27 Javascript
JavaScript获取服务器端时间的方法
2016/11/29 Javascript
详解AngularJS用Interceptors来统一处理HTTP请求和响应
2017/06/08 Javascript
Koa2 之文件上传下载的示例代码
2018/03/29 Javascript
vue 基于element-ui 分页组件封装的实例代码
2018/12/10 Javascript
JS实现获取数组中最大值或最小值功能示例
2019/03/02 Javascript
layui实现数据表格点击搜索功能
2020/03/26 Javascript
JS array数组检测方式解析
2020/05/19 Javascript
使用vue实现通过变量动态拼接url
2020/07/22 Javascript
教大家使用Python SqlAlchemy
2016/02/12 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
keras tensorflow 实现在python下多进程运行
2020/02/06 Python
Python单元测试模块doctest的具体使用
2020/02/10 Python
Python多进程multiprocessing、进程池用法实例分析
2020/03/24 Python
keras实现调用自己训练的模型,并去掉全连接层
2020/06/09 Python
python db类用法说明
2020/07/07 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
html5小技巧之通过document.head获取head元素
2014/06/04 HTML / CSS
在canvas上实现元素图片镜像翻转动画效果的方法
2018/03/20 HTML / CSS
法学毕业生自我鉴定
2013/11/08 职场文书
迟到检讨书5000字
2014/01/31 职场文书
公司离职证明标准样本
2014/10/05 职场文书
Java 数组的使用
2022/05/11 Java/Android
SQL Server中搜索特定的对象
2022/05/25 SQL Server