浅析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判断字符串是否纯数字的方法
Nov 19 Python
Python爬虫代理IP池实现方法
Jan 05 Python
对python中的xlsxwriter库简单分析
May 04 Python
Pandas:DataFrame对象的基础操作方法
Jun 07 Python
python中使用 xlwt 操作excel的常见方法与问题
Jan 13 Python
简单了解python单例模式的几种写法
Jul 01 Python
Python3 pandas 操作列表实例详解
Sep 23 Python
Python 实现Numpy中找出array中最大值所对应的行和列
Nov 26 Python
PyCharm 2020 激活到 2100 年的教程
Mar 25 Python
python实现图片,视频人脸识别(dlib版)
Nov 18 Python
opencv实现图像几何变换
Mar 24 Python
浅谈python中的多态
Jun 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
DC四月将推出百页特刊漫画 纪念小丑诞生80周年
2020/04/09 欧美动漫
咖啡豆的最常见发酵处理方法,详细了解一下
2021/03/03 冲泡冲煮
调整PHP的性能
2013/10/30 PHP
PHP截取指定图片大小的方法
2014/12/10 PHP
laravel 数据迁移与 Eloquent ORM的实现方法
2019/04/12 PHP
PHP面向对象程序设计__tostring()和__invoke()用法分析
2019/06/12 PHP
让innerHTML的脚本也可以运行起来
2006/07/01 Javascript
Java 正则表达式学习总结和一些小例子
2012/09/13 Javascript
JS实现将人民币金额转换为大写的示例代码
2014/02/13 Javascript
通过location.replace禁止浏览器后退防止重复提交
2014/09/04 Javascript
9款2014最热门jQuery实用特效推荐
2014/12/07 Javascript
javascript实现节点(div)名称编辑
2014/12/17 Javascript
JS长整型精度问题实例分析
2015/01/13 Javascript
jQuery常用知识点总结以及平时封装常用函数
2016/02/23 Javascript
Bootstrap 布局组件(全)
2016/07/18 Javascript
angularjs实现文字上下无缝滚动特效代码
2016/09/04 Javascript
从零学习node.js之利用express搭建简易论坛(七)
2017/02/25 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
2017/08/09 Javascript
讲解vue-router之什么是嵌套路由
2018/05/28 Javascript
js闭包的9个使用场景
2020/12/29 Javascript
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
wtfPython—Python中一组有趣微妙的代码【收藏】
2018/08/31 Python
python解析json串与正则匹配对比方法
2018/12/20 Python
python 实现将list转成字符串,中间用空格隔开
2019/12/25 Python
Pytorch 多维数组运算过程的索引处理方式
2019/12/27 Python
django实现将修改好的新模型写入数据库
2020/03/31 Python
Julep官网:美容产品和指甲油
2017/02/25 全球购物
控制工程专业个人求职信
2013/09/25 职场文书
思想政治教育专业个人求职信范文
2013/12/20 职场文书
数学国培研修感言
2014/02/13 职场文书
欢迎领导标语
2014/06/27 职场文书
求职简历自我评价范文
2015/03/10 职场文书
政审证明范文
2015/06/19 职场文书
护士旷工检讨书
2015/08/15 职场文书
SQL语句多表联合查询的方法示例
2022/04/18 MySQL
SpringBoot详解执行过程
2022/07/15 Java/Android