浅析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使用cookielib库示例分享
Mar 03 Python
Python发送email的3种方法
Apr 28 Python
浅谈Python peewee 使用经验
Oct 20 Python
Python使用xlwt模块操作Excel的方法详解
Mar 27 Python
Python 爬虫之Beautiful Soup模块使用指南
Jul 05 Python
win7+Python3.5下scrapy的安装方法
Jul 31 Python
Windows下PyCharm安装图文教程
Aug 27 Python
Django如何自定义分页
Sep 25 Python
详解Django配置JWT认证方式
May 09 Python
Android Q之气泡弹窗的实现示例
Jun 23 Python
python爬取youtube视频的示例代码
Mar 03 Python
总结几个非常实用的Python库
Jun 26 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 将字符串按大写字母分隔成字符串数组
2010/04/30 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
2017/05/02 PHP
javascript Firefox与IE 替换节点的方法
2010/02/24 Javascript
使用jQuery轻松实现Ajax的实例代码
2010/08/16 Javascript
用JS控制回车事件的代码
2011/02/20 Javascript
php对mongodb的扩展(初识如故)
2012/11/11 Javascript
ie6下png图片背景不透明的解决办法使用js实现
2013/01/11 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
2015/11/10 Javascript
如何解决手机浏览器页面点击不跳转浏览器双击放大网页
2016/07/01 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
2016/10/10 Javascript
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
Postman模拟发送带token的请求方法
2018/03/31 Javascript
iView-admin 动态路由问题的解决方法
2018/10/03 Javascript
深入了解Hybrid App技术的相关知识
2019/07/17 Javascript
JavaScript Window窗口对象属性和使用方法
2020/01/19 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
2020/12/14 Vue.js
[04:12]第二届DOTA2亚洲邀请赛选手传记-Newbee.Sccc
2017/04/03 DOTA
更改Python命令行交互提示符的方法
2015/01/14 Python
在Python中使用SQLite的简单教程
2015/04/29 Python
Python反转序列的方法实例分析
2018/03/21 Python
Python操作MySQL数据库的方法
2018/06/20 Python
Python随机数函数代码实例解析
2020/02/09 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
2020/06/02 Python
html5 拖拽上传图片实例演示
2013/04/01 HTML / CSS
男女钓鱼靴和甲板鞋:XTRATUF
2021/01/09 全球购物
考试作弊被抓检讨书
2014/01/10 职场文书
八年级美术教学反思
2014/02/02 职场文书
大学生个人自荐信
2014/02/24 职场文书
美丽乡村建设实施方案
2014/03/23 职场文书
勤俭节约演讲稿
2014/05/08 职场文书
青年文明号口号
2014/06/17 职场文书
世界水日宣传活动总结
2015/02/09 职场文书
2015年公务员工作总结
2015/04/24 职场文书
python自动计算图像数据集的RGB均值
2021/06/18 Python
python区块链持久化和命令行接口实现简版
2022/05/25 Python