浅析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发送各类邮件的主要方法
Dec 22 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
Apr 17 Python
python 简单照相机调用系统摄像头实现方法 pygame
Aug 03 Python
python判断字符串或者集合是否为空的实例
Jan 23 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
Jul 22 Python
python elasticsearch从创建索引到写入数据的全过程
Aug 04 Python
Python递归及尾递归优化操作实例分析
Feb 01 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
Mar 30 Python
Selenium元素定位的30种方式(史上最全)
May 11 Python
Python pip install之SSL异常处理操作
Sep 03 Python
python 如何停止一个死循环的线程
Nov 24 Python
selenium+超级鹰实现模拟登录12306
Jan 24 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
MySQL相关说明
2007/01/15 PHP
php中的路径问题与set_include_path使用介绍
2014/02/11 PHP
js调用flash的效果代码
2008/04/26 Javascript
js如何判断用户是否是用微信浏览器
2014/06/05 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
2014/06/16 Javascript
node.js中的fs.lchown方法使用说明
2014/12/16 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
2015/11/20 Javascript
JavaScript sort数组排序方法和自我实现排序方法小结
2016/06/06 Javascript
H5用户注册表单页 注册模态框!
2016/09/17 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
JS交互点击WKWebView中的图片实现预览效果
2018/01/05 Javascript
JavaScript如何借用构造函数继承
2019/11/06 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
2019/12/06 Javascript
微信域名检测接口调用演示步骤(含PHP、Python)
2019/12/08 Javascript
js get和post请求实现代码解析
2020/02/06 Javascript
vue集成一个支持图片缩放拖拽的富文本编辑器
2021/01/29 Vue.js
pycharm 在windows上编辑代码用linux执行配置的方法
2018/10/27 Python
Python 3.8新特征之asyncio REPL
2019/05/28 Python
浅析Python3中的对象垃圾收集机制
2019/06/06 Python
python中adb有什么功能
2020/06/07 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
2020/09/18 Python
详解Python中的Lock和Rlock
2021/01/26 Python
加拿大著名的奢侈品购物网站:SSENSE(支持中文)
2020/06/25 全球购物
说出数据连接池的工作机制是什么?
2013/04/19 面试题
招商经理岗位职责
2013/11/16 职场文书
公关关系专员的自我评价分享
2013/11/20 职场文书
教师自荐信范文
2013/12/09 职场文书
校长先进事迹材料
2014/02/01 职场文书
少年闰土教学反思
2014/02/22 职场文书
槐乡的孩子教学反思
2014/04/27 职场文书
节约粮食标语
2014/06/18 职场文书
2014大四本科生自我鉴定总结
2014/10/04 职场文书
党员思想汇报材料
2014/12/19 职场文书
2014年小学语文工作总结
2014/12/20 职场文书
学生会宣传部竞选稿
2015/11/21 职场文书
详解Flask开发技巧之异常处理
2021/06/15 Python