浅析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 相关文章推荐
Python3.2中的字符串函数学习总结
Apr 23 Python
Python中字符串的常见操作技巧总结
Jul 28 Python
Python中关键字nonlocal和global的声明与解析
Mar 12 Python
python中获得当前目录和上级目录的实现方法
Oct 12 Python
Python八大常见排序算法定义、实现及时间消耗效率分析
Apr 27 Python
Django分页查询并返回jsons数据(中文乱码解决方法)
Aug 02 Python
Python中三元表达式的几种写法介绍
Mar 04 Python
利用python-pypcap抓取带VLAN标签的数据包方法
Jul 23 Python
Python及Pycharm安装方法图文教程
Aug 05 Python
Pandas对每个分组应用apply函数的实现
Dec 13 Python
python中slice参数过长的处理方法及实例
Dec 15 Python
python之PySide2安装使用及QT Designer UI设计案例教程
Jul 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
模仿OSO的论坛(五)
2006/10/09 PHP
destoon后台网站设置变成空白的解决方法
2014/06/21 PHP
php实现的发送带附件邮件类实例
2014/09/22 PHP
PHP 网站修改默认访问文件的nginx配置
2017/05/27 PHP
关于IFRAME 自适应高度的研究
2006/07/20 Javascript
js 上传图片预览问题
2010/12/06 Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
2013/01/09 Javascript
对new functionName()定义一个函数的理解
2014/05/22 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
javascript中call和apply的用法示例分析
2015/04/02 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
浅析$(function) ready和onload 的区别
2016/09/03 Javascript
JavaScript与Java正则表达式写法的区别介绍
2017/08/15 Javascript
js如何找出字符串中的最长回文串
2018/06/04 Javascript
VUE+elementui面包屑实现动态路由详解
2019/11/04 Javascript
JS实现联想、自动补齐国家或地区名称的功能
2020/07/07 Javascript
Python的Django框架中的表单处理示例
2015/07/17 Python
使用Python多线程爬虫爬取电影天堂资源
2016/09/23 Python
python 中random模块的常用方法总结
2017/07/08 Python
Python二叉搜索树与双向链表转换算法示例
2019/03/02 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
2019/06/05 Python
对Python中TKinter模块中的Label组件实例详解
2019/06/14 Python
python中with语句结合上下文管理器操作详解
2019/12/19 Python
解决django FileFIELD的编码问题
2020/03/30 Python
基于python实现判断字符串是否数字算法
2020/07/10 Python
对Python 字典元素进行删除的方法
2020/07/31 Python
当当网官方旗舰店:中国图书销售夺金品牌
2018/04/02 全球购物
总经理职责范文
2013/11/08 职场文书
大课间体育活动方案
2014/03/12 职场文书
旺仔牛奶广告词
2014/03/20 职场文书
小学生手册家长评语
2014/04/16 职场文书
欢迎标语大全
2014/06/21 职场文书
丧事答谢词
2015/01/05 职场文书
2015年入党积极分子评语
2015/03/26 职场文书
2015年幼儿园保育员工作总结
2015/04/23 职场文书